FinishActivity: prevent jumping layout when finishing

When setting up the finishing sequence, the navigation bar gets
hidden, resulting in the layout adjusting and moving.

Once the start button is pressed, pressing back on the navigation
bar is ignored.

Change-Id: Ibb961ab059c2b8be38e88db691d4293e180f3b1c
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
This commit is contained in:
Alexander Martinz
2023-03-21 19:45:10 +01:00
committed by Jan Altensen (Stricted)
parent 78b01d53c8
commit f85129e80b
2 changed files with 10 additions and 13 deletions

View File

@@ -259,9 +259,7 @@ public abstract class BaseSetupWizardActivity extends Activity implements Naviga
protected void hideNextButton() {
if (mNavigationBar != null) {
Animation fadeOut = AnimationUtils.loadAnimation(this, android.R.anim.fade_out);
final Button next = mNavigationBar.getNextButton();
next.startAnimation(fadeOut);
next.setVisibility(INVISIBLE);
}
}

View File

@@ -32,6 +32,7 @@ import static org.lineageos.setupwizard.SetupWizardApp.NAVIGATION_OPTION_KEY;
import static org.lineageos.setupwizard.SetupWizardApp.UPDATE_RECOVERY_PROP;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.app.Activity;
import android.app.WallpaperManager;
import android.content.Context;
@@ -51,7 +52,6 @@ import android.view.View;
import android.view.ViewAnimationUtils;
import android.widget.ImageView;
import com.google.android.setupcompat.util.SystemBarHelper;
import com.google.android.setupcompat.util.WizardManagerHelper;
import org.lineageos.setupwizard.util.SetupWizardUtils;
@@ -81,6 +81,13 @@ public class FinishActivity extends BaseSetupWizardActivity {
setNextText(R.string.start);
}
@Override
public void onBackPressed() {
if (!mIsFinishing) {
super.onBackPressed();
}
}
@Override
protected int getLayoutResId() {
return R.layout.finish_activity;
@@ -113,7 +120,7 @@ public class FinishActivity extends BaseSetupWizardActivity {
sendBroadcastAsUser(i, getCallingUserHandle(), FINISH_SETUP);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);
SystemBarHelper.hideSystemBars(getWindow());
hideNextButton();
finishSetup();
}
@@ -147,7 +154,7 @@ public class FinishActivity extends BaseSetupWizardActivity {
Animator anim =
ViewAnimationUtils.createCircularReveal(mReveal, cx, cy, 0, finalRadius);
anim.setDuration(900);
anim.addListener(new Animator.AnimatorListener() {
anim.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
mReveal.setVisibility(View.VISIBLE);
@@ -162,14 +169,6 @@ public class FinishActivity extends BaseSetupWizardActivity {
}
});
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
anim.start();
}