pause animation code on background, change no account added string

This commit is contained in:
Bruno Bierbaumer 2015-12-19 01:19:17 +01:00
parent ce59e605ba
commit 332f539e87
4 changed files with 33 additions and 27 deletions

View file

@ -87,7 +87,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
public void test000EmptyStart() throws InterruptedException {
onView(withText("No Account has been added yet")).check(matches(isDisplayed()));
onView(withText("No account has been added yet")).check(matches(isDisplayed()));
onView(withText("Add")).check(matches(isDisplayed()));
Intents.init();
@ -139,7 +139,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
Thread.sleep(5000);
onView(withText("No Account has been added yet")).check(matches(isDisplayed()));
onView(withText("No account has been added yet")).check(matches(isDisplayed()));
Intents.release();
}
@ -162,7 +162,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
// We can also validate that an intent resolving to the "camera" activity has been sent out by our app
intended(hasAction("com.google.zxing.client.android.SCAN"));
onView(withText("No Account has been added yet")).check(matches(isDisplayed()));
onView(withText("No account has been added yet")).check(matches(isDisplayed()));
Intents.release();
}

View file

@ -11,6 +11,7 @@ import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.ActionMode;
import android.view.LayoutInflater;
import android.view.Menu;
@ -36,6 +37,9 @@ public class MainActivity extends AppCompatActivity implements ActionMode.Callb
private EntriesAdapter adapter;
private FloatingActionButton fab;
private Handler handler;
private Runnable handlerTask;
private Entry nextSelection = null;
private void showNoAccount(){
Snackbar noAccountSnackbar = Snackbar.make(fab, R.string.no_accounts, Snackbar.LENGTH_INDEFINITE)
@ -96,30 +100,18 @@ public class MainActivity extends AppCompatActivity implements ActionMode.Callb
showNoAccount();
}
int progress = ((int) (System.currentTimeMillis() / 1000) % 30);
progressBar.setProgress((int) (1000.0 * progress / 30.0));
ObjectAnimator animation = ObjectAnimator.ofInt(progressBar, "progress", 1000);
animation.setDuration((30 - progress) * 1000);
animation.setInterpolator(new LinearInterpolator());
animation.start();
final Handler handler = new Handler();
final Runnable handlerTask = new Runnable()
handler = new Handler();
handlerTask = new Runnable()
{
@Override
public void run() {
int progress = (int) (System.currentTimeMillis() / 1000) % 30 ;
progressBar.setProgress(progress*100);
if(progress == 0){
progressBar.setProgress(progress);
ObjectAnimator animation = ObjectAnimator.ofInt(progressBar, "progress", 1000);
animation.setDuration(30 * 1000);
animation.setInterpolator(new LinearInterpolator());
animation.start();
}
ObjectAnimator animation = ObjectAnimator.ofInt(progressBar, "progress", (progress+1)*100);
animation.setDuration(1000);
animation.setInterpolator(new LinearInterpolator());
animation.start();
for(int i =0;i< adapter.getCount();i++){
if(progress == 0 || adapter.getItem(i).getCurrentOTP() == null){
@ -131,7 +123,20 @@ public class MainActivity extends AppCompatActivity implements ActionMode.Callb
handler.postDelayed(this, 1000);
}
};
handlerTask.run();
}
@Override
public void onResume() {
super.onResume();
handler.post(handlerTask);
}
@Override
public void onPause() {
super.onPause();
handler.removeCallbacks(handlerTask);
}
@Override
@ -175,7 +180,8 @@ public class MainActivity extends AppCompatActivity implements ActionMode.Callb
return true;
}
@Override
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();

View file

@ -33,8 +33,8 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:max="1000"
android:progress="500"
android:max="3000"
android:progress="1500"
android:layout_alignBottom="@id/toolbar"
/>

View file

@ -1,7 +1,7 @@
<resources>
<string name="app_name">OTP Authenticator</string>
<string name="app_launcher">Authenticator</string>
<string name="no_accounts">No Account has been added yet</string>
<string name="no_accounts">No account has been added yet</string>
<string name="menu_delete">Delete</string>
<string name="menu_edit">Edit</string>
<string name="menu_scan">Scan QR Code</string>