Make ApiDemo build on Java 5.0
Change-Id: Ib0759e5598d73741ef9e2408f08edd5d6b38288b
This commit is contained in:
@@ -58,13 +58,10 @@ public class AnimationLoading extends Activity {
|
|||||||
|
|
||||||
Button starter = (Button) findViewById(R.id.startButton);
|
Button starter = (Button) findViewById(R.id.startButton);
|
||||||
starter.setOnClickListener(new View.OnClickListener() {
|
starter.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
animView.startAnimation();
|
animView.startAnimation();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MyAnimationView extends View implements ValueAnimator.AnimatorUpdateListener {
|
public class MyAnimationView extends View implements ValueAnimator.AnimatorUpdateListener {
|
||||||
|
|||||||
@@ -62,8 +62,6 @@ public class AnimationSeeking extends Activity {
|
|||||||
|
|
||||||
Button starter = (Button) findViewById(R.id.startButton);
|
Button starter = (Button) findViewById(R.id.startButton);
|
||||||
starter.setOnClickListener(new View.OnClickListener() {
|
starter.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
animView.startAnimation();
|
animView.startAnimation();
|
||||||
}
|
}
|
||||||
@@ -72,16 +70,12 @@ public class AnimationSeeking extends Activity {
|
|||||||
mSeekBar = (SeekBar) findViewById(R.id.seekBar);
|
mSeekBar = (SeekBar) findViewById(R.id.seekBar);
|
||||||
mSeekBar.setMax(DURATION);
|
mSeekBar.setMax(DURATION);
|
||||||
mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress,
|
public void onProgressChanged(SeekBar seekBar, int progress,
|
||||||
boolean fromUser) {
|
boolean fromUser) {
|
||||||
// prevent seeking on app creation
|
// prevent seeking on app creation
|
||||||
@@ -162,21 +156,17 @@ public class AnimationSeeking extends Activity {
|
|||||||
//mSeekBar.setProgress((int)playtime);
|
//mSeekBar.setProgress((int)playtime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAnimationCancel(Animator animation) {
|
public void onAnimationCancel(Animator animation) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAnimationEnd(Animator animation) {
|
public void onAnimationEnd(Animator animation) {
|
||||||
balls.remove(((ObjectAnimator)animation).getTarget());
|
balls.remove(((ObjectAnimator)animation).getTarget());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAnimationRepeat(Animator animation) {
|
public void onAnimationRepeat(Animator animation) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAnimationStart(Animator animation) {
|
public void onAnimationStart(Animator animation) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -183,21 +183,17 @@ public class BouncingBalls extends Activity {
|
|||||||
invalidate();
|
invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAnimationCancel(Animator animation) {
|
public void onAnimationCancel(Animator animation) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAnimationEnd(Animator animation) {
|
public void onAnimationEnd(Animator animation) {
|
||||||
balls.remove(((ObjectAnimator)animation).getTarget());
|
balls.remove(((ObjectAnimator)animation).getTarget());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAnimationRepeat(Animator animation) {
|
public void onAnimationRepeat(Animator animation) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAnimationStart(Animator animation) {
|
public void onAnimationStart(Animator animation) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,13 +50,10 @@ public class CustomEvaluator extends Activity {
|
|||||||
|
|
||||||
Button starter = (Button) findViewById(R.id.startButton);
|
Button starter = (Button) findViewById(R.id.startButton);
|
||||||
starter.setOnClickListener(new View.OnClickListener() {
|
starter.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
animView.startAnimation();
|
animView.startAnimation();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class XYHolder {
|
public class XYHolder {
|
||||||
@@ -86,7 +83,6 @@ public class CustomEvaluator extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public class XYEvaluator implements TypeEvaluator {
|
public class XYEvaluator implements TypeEvaluator {
|
||||||
@Override
|
|
||||||
public Object evaluate(float fraction, Object startValue, Object endValue) {
|
public Object evaluate(float fraction, Object startValue, Object endValue) {
|
||||||
XYHolder startXY = (XYHolder) startValue;
|
XYHolder startXY = (XYHolder) startValue;
|
||||||
XYHolder endXY = (XYHolder) endValue;
|
XYHolder endXY = (XYHolder) endValue;
|
||||||
|
|||||||
@@ -86,8 +86,6 @@ public class ListFlipper extends Activity {
|
|||||||
|
|
||||||
Button starter = (Button) findViewById(R.id.button);
|
Button starter = (Button) findViewById(R.id.button);
|
||||||
starter.setOnClickListener(new View.OnClickListener() {
|
starter.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
flipit();
|
flipit();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,8 +50,6 @@ public class ReversingAnimation extends Activity {
|
|||||||
|
|
||||||
Button starter = (Button) findViewById(R.id.startButton);
|
Button starter = (Button) findViewById(R.id.startButton);
|
||||||
starter.setOnClickListener(new View.OnClickListener() {
|
starter.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
animView.startAnimation();
|
animView.startAnimation();
|
||||||
}
|
}
|
||||||
@@ -59,8 +57,6 @@ public class ReversingAnimation extends Activity {
|
|||||||
|
|
||||||
Button reverser = (Button) findViewById(R.id.reverseButton);
|
Button reverser = (Button) findViewById(R.id.reverseButton);
|
||||||
reverser.setOnClickListener(new View.OnClickListener() {
|
reverser.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
animView.reverseAnimation();
|
animView.reverseAnimation();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ public class ActionBarDisplayOptions extends Activity
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
final ActionBar bar = getActionBar();
|
final ActionBar bar = getActionBar();
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
@@ -114,15 +113,12 @@ public class ActionBarDisplayOptions extends Activity
|
|||||||
bar.setDisplayOptions(change, flags);
|
bar.setDisplayOptions(change, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onTabSelected(Tab tab, FragmentTransaction ft) {
|
public void onTabSelected(Tab tab, FragmentTransaction ft) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
|
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onTabReselected(Tab tab, FragmentTransaction ft) {
|
public void onTabReselected(Tab tab, FragmentTransaction ft) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class FragmentListCursorLoader extends Activity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
// Create the list fragment and add it as our sole content.
|
// Create the list fragment and add it as our sole content.
|
||||||
if (findFragmentById(android.R.id.content) == null) {
|
if (findFragmentById(android.R.id.content) == null) {
|
||||||
CursorLoaderListFragment list = new CursorLoaderListFragment();
|
CursorLoaderListFragment list = new CursorLoaderListFragment();
|
||||||
@@ -57,18 +57,18 @@ public class FragmentListCursorLoader extends Activity {
|
|||||||
public static class CursorLoaderListFragment extends ListFragment
|
public static class CursorLoaderListFragment extends ListFragment
|
||||||
implements LoaderManager.LoaderCallbacks<Cursor> {
|
implements LoaderManager.LoaderCallbacks<Cursor> {
|
||||||
MenuItem mSearchMenu;
|
MenuItem mSearchMenu;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
|
|
||||||
// Give some text to display if there is no data. In a real
|
// Give some text to display if there is no data. In a real
|
||||||
// application this would come from a resource.
|
// application this would come from a resource.
|
||||||
setEmptyText("No phone numbers");
|
setEmptyText("No phone numbers");
|
||||||
|
|
||||||
// We have a menu item to show in action bar.
|
// We have a menu item to show in action bar.
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
|
|
||||||
// Prepare the loader. Either re-connect with an existing one,
|
// Prepare the loader. Either re-connect with an existing one,
|
||||||
// or start a new one.
|
// or start a new one.
|
||||||
getLoaderManager().initLoader(0, null, this);
|
getLoaderManager().initLoader(0, null, this);
|
||||||
@@ -107,7 +107,6 @@ public class FragmentListCursorLoader extends Activity {
|
|||||||
Contacts.LOOKUP_KEY,
|
Contacts.LOOKUP_KEY,
|
||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
|
||||||
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
|
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
|
||||||
String select = "((" + Contacts.DISPLAY_NAME + " NOTNULL) AND ("
|
String select = "((" + Contacts.DISPLAY_NAME + " NOTNULL) AND ("
|
||||||
+ Contacts.HAS_PHONE_NUMBER + "=1) AND ("
|
+ Contacts.HAS_PHONE_NUMBER + "=1) AND ("
|
||||||
@@ -117,11 +116,10 @@ public class FragmentListCursorLoader extends Activity {
|
|||||||
Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");
|
Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
|
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
|
||||||
ListAdapter adapter = new SimpleCursorAdapter(getActivity(),
|
ListAdapter adapter = new SimpleCursorAdapter(getActivity(),
|
||||||
android.R.layout.simple_list_item_2, data,
|
android.R.layout.simple_list_item_2, data,
|
||||||
new String[] { Contacts.DISPLAY_NAME, Contacts.CONTACT_STATUS },
|
new String[] { Contacts.DISPLAY_NAME, Contacts.CONTACT_STATUS },
|
||||||
new int[] { android.R.id.text1, android.R.id.text2 });
|
new int[] { android.R.id.text1, android.R.id.text2 });
|
||||||
setListAdapter(adapter);
|
setListAdapter(adapter);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,6 @@ public class ClipboardSample extends Activity {
|
|||||||
|
|
||||||
ClipboardManager.OnPrimaryClipChangedListener mPrimaryChangeListener
|
ClipboardManager.OnPrimaryClipChangedListener mPrimaryChangeListener
|
||||||
= new ClipboardManager.OnPrimaryClipChangedListener() {
|
= new ClipboardManager.OnPrimaryClipChangedListener() {
|
||||||
@Override
|
|
||||||
public void onPrimaryClipChanged() {
|
public void onPrimaryClipChanged() {
|
||||||
updateClipData();
|
updateClipData();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,16 +42,12 @@ public class RotatingButton extends Activity {
|
|||||||
seekBar = (SeekBar) findViewById(R.id.translationX);
|
seekBar = (SeekBar) findViewById(R.id.translationX);
|
||||||
seekBar.setMax(400);
|
seekBar.setMax(400);
|
||||||
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress,
|
public void onProgressChanged(SeekBar seekBar, int progress,
|
||||||
boolean fromUser) {
|
boolean fromUser) {
|
||||||
rotatingButton.setTranslationX((float)progress);
|
rotatingButton.setTranslationX((float)progress);
|
||||||
@@ -61,15 +57,12 @@ public class RotatingButton extends Activity {
|
|||||||
seekBar.setMax(800);
|
seekBar.setMax(800);
|
||||||
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress,
|
public void onProgressChanged(SeekBar seekBar, int progress,
|
||||||
boolean fromUser) {
|
boolean fromUser) {
|
||||||
rotatingButton.setTranslationY((float)progress);
|
rotatingButton.setTranslationY((float)progress);
|
||||||
@@ -80,15 +73,12 @@ public class RotatingButton extends Activity {
|
|||||||
seekBar.setProgress(10);
|
seekBar.setProgress(10);
|
||||||
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress,
|
public void onProgressChanged(SeekBar seekBar, int progress,
|
||||||
boolean fromUser) {
|
boolean fromUser) {
|
||||||
rotatingButton.setScaleX((float)progress/10f);
|
rotatingButton.setScaleX((float)progress/10f);
|
||||||
@@ -99,15 +89,12 @@ public class RotatingButton extends Activity {
|
|||||||
seekBar.setProgress(10);
|
seekBar.setProgress(10);
|
||||||
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress,
|
public void onProgressChanged(SeekBar seekBar, int progress,
|
||||||
boolean fromUser) {
|
boolean fromUser) {
|
||||||
rotatingButton.setScaleY((float)progress/10f);
|
rotatingButton.setScaleY((float)progress/10f);
|
||||||
@@ -117,15 +104,12 @@ public class RotatingButton extends Activity {
|
|||||||
seekBar.setMax(360);
|
seekBar.setMax(360);
|
||||||
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress,
|
public void onProgressChanged(SeekBar seekBar, int progress,
|
||||||
boolean fromUser) {
|
boolean fromUser) {
|
||||||
// prevent seeking on app creation
|
// prevent seeking on app creation
|
||||||
@@ -136,15 +120,12 @@ public class RotatingButton extends Activity {
|
|||||||
seekBar.setMax(360);
|
seekBar.setMax(360);
|
||||||
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress,
|
public void onProgressChanged(SeekBar seekBar, int progress,
|
||||||
boolean fromUser) {
|
boolean fromUser) {
|
||||||
// prevent seeking on app creation
|
// prevent seeking on app creation
|
||||||
@@ -155,15 +136,12 @@ public class RotatingButton extends Activity {
|
|||||||
seekBar.setMax(360);
|
seekBar.setMax(360);
|
||||||
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress,
|
public void onProgressChanged(SeekBar seekBar, int progress,
|
||||||
boolean fromUser) {
|
boolean fromUser) {
|
||||||
// prevent seeking on app creation
|
// prevent seeking on app creation
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import com.example.android.apis.R;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.Gravity;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
@@ -53,7 +52,6 @@ public class SplitTouchView extends Activity {
|
|||||||
private int responseIndex = 0;
|
private int responseIndex = 0;
|
||||||
|
|
||||||
private final OnItemClickListener itemClickListener = new OnItemClickListener() {
|
private final OnItemClickListener itemClickListener = new OnItemClickListener() {
|
||||||
@Override
|
|
||||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||||
String[] responses = getResources().getStringArray(R.array.cheese_responses);
|
String[] responses = getResources().getStringArray(R.array.cheese_responses);
|
||||||
String response = responses[responseIndex++ % responses.length];
|
String response = responses[responseIndex++ % responses.length];
|
||||||
|
|||||||
Reference in New Issue
Block a user