Skip to content

Commit

Permalink
fixed #5
Browse files Browse the repository at this point in the history
  • Loading branch information
fennifith committed Nov 7, 2017
1 parent 9b9a660 commit 98ab736
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 8 deletions.
33 changes: 32 additions & 1 deletion app/src/main/java/james/asteroid/activities/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
Expand Down Expand Up @@ -366,7 +367,7 @@ private void animateTitle(final boolean isVisible) {
highScoreView.setVisibility(View.GONE);

animator = ValueAnimator.ofFloat(isVisible ? 0 : 1, isVisible ? 1 : 0);
animator.setDuration(1500);
animator.setDuration(750);
animator.setStartDelay(500);
animator.setInterpolator(new AccelerateInterpolator());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
Expand Down Expand Up @@ -409,6 +410,36 @@ public void onResume() {
player.start();
if (gameView != null && !isPaused)
gameView.onResume();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
if (Settings.Global.getFloat(getContentResolver(), Settings.Global.ANIMATOR_DURATION_SCALE, 1) != 1) {
try {
ValueAnimator.class.getMethod("setDurationScale", float.class).invoke(null, 1f);
} catch (Throwable t) {
new AlertDialog.Builder(this)
.setTitle(R.string.title_animation_speed)
.setMessage(R.string.desc_animation_speed)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
try {
startActivity(new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS));
} catch (Exception ignored) {
}
dialogInterface.dismiss();
}
})
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
})
.create()
.show();
}
}
}
}

@Override
Expand Down
16 changes: 9 additions & 7 deletions app/src/main/java/james/asteroid/views/GameView.java
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ public void onBoxOpened(BoxData box) {
@Override
public void run() {
ammoAnimator = ValueAnimator.ofFloat(ammo, Math.min(ammo + 5, weapon.capacity));
ammoAnimator.setDuration(500);
ammoAnimator.setDuration(250);
ammoAnimator.setInterpolator(new DecelerateInterpolator());
ammoAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
Expand Down Expand Up @@ -387,7 +387,7 @@ public void onBoxOpened(BoxData box) {
@Override
public void run() {
ammoAnimator = ValueAnimator.ofFloat(ammo, weapon.capacity);
ammoAnimator.setDuration(500);
ammoAnimator.setDuration(250);
ammoAnimator.setInterpolator(new DecelerateInterpolator());
ammoAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
Expand Down Expand Up @@ -442,6 +442,7 @@ public void play() {
animator.cancel();

ValueAnimator animator = ValueAnimator.ofFloat(shipPositionY, 1);
animator.setDuration(150);
animator.setInterpolator(new DecelerateInterpolator());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
Expand Down Expand Up @@ -478,7 +479,7 @@ public void stop() {
animator.cancel();

ValueAnimator animator = ValueAnimator.ofFloat(shipPositionY, -1f);
animator.setDuration(2000);
animator.setDuration(1000);
animator.setInterpolator(new DecelerateInterpolator());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
Expand All @@ -499,6 +500,7 @@ public void onAnimationEnd(Animator animation) {
animator.start();

ValueAnimator animator1 = ValueAnimator.ofFloat(speed, 1);
animator1.setDuration(150);
animator1.setInterpolator(new DecelerateInterpolator());
animator1.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
Expand Down Expand Up @@ -551,7 +553,7 @@ public boolean onTouch(View v, MotionEvent event) {
listener.onProjectileFired(weapon);

ammoAnimator = ValueAnimator.ofFloat(ammo, ammo - 1);
ammoAnimator.setDuration(500);
ammoAnimator.setDuration(250);
ammoAnimator.setInterpolator(new DecelerateInterpolator());
ammoAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
Expand All @@ -572,7 +574,7 @@ public void onBoxOpened(BoxData box) {
@Override
public void run() {
ammoAnimator = ValueAnimator.ofFloat(ammo, weapon.capacity);
ammoAnimator.setDuration(500);
ammoAnimator.setDuration(250);
ammoAnimator.setInterpolator(new DecelerateInterpolator());
ammoAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
Expand Down Expand Up @@ -603,7 +605,7 @@ public void onAnimationUpdate(ValueAnimator valueAnimator) {
} else if (shipPositionX > 0)
animator = ValueAnimator.ofFloat(shipPositionX, shipPositionX - 1);

animator.setDuration((long) (2000 / speed));
animator.setDuration((long) (1000 / speed));
animator.setStartDelay(50);
animator.setInterpolator(new AccelerateInterpolator());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
Expand Down Expand Up @@ -640,7 +642,7 @@ else if (newX >= 1)

animator = ValueAnimator.ofFloat(shipPositionX, newX);
animator.setInterpolator(new DecelerateInterpolator());
animator.setDuration((long) (1000 / speed));
animator.setDuration((long) (500 / speed));
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
<string name="msg_sign_in_error">An error occurred while trying to sign in… :P</string>
<string name="title_sign_out">Sign Out?</string>
<string name="msg_sign_out">Are you sure you want to sign out of Play Games?</string>
<string name="title_animation_speed">Animation Speed</string>
<string name="desc_animation_speed">It appears that your phone\'s animator duration has been modified in developer settings. It is highly recommended that you revert this setting to its original value in order for the game to run properly.</string>

<string name="pref_background_speed">Background Speed</string>
<string name="pref_background_asteroids">Show Asteroids</string>
Expand Down

0 comments on commit 98ab736

Please sign in to comment.