From 635998c42d93c51fd362e308586c6ca2622a6485 Mon Sep 17 00:00:00 2001 From: Tommy Webb Date: Wed, 24 Jul 2024 21:39:04 +0000 Subject: [PATCH] Refactor activity decorations and transitions Reuse some code, and prevent the need to have to apply transitions in multiple places. Change-Id: I5319e49136d6d05de3eb03eff8dae0f3560e509a --- .../setupwizard/BaseSetupWizardActivity.java | 40 ++++++++++++------- .../setupwizard/SimMissingActivity.java | 4 -- .../setupwizard/SubBaseActivity.java | 4 -- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java b/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java index 5a64abb4..5dc3afea 100644 --- a/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java +++ b/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java @@ -43,6 +43,7 @@ public abstract class BaseSetupWizardActivity extends AppCompatActivity implemen NavigationBarListener { public static final String TAG = BaseSetupWizardActivity.class.getSimpleName(); + public static final int DEFAULT_TRANSITION = TransitionHelper.TRANSITION_FADE_THROUGH; private NavigationLayout mNavigationBar; @@ -68,10 +69,10 @@ public abstract class BaseSetupWizardActivity extends AppCompatActivity implemen Log.v(TAG, "handleOnBackPressed()"); } finishAction(RESULT_CANCELED, new Intent().putExtra("onBackPressed", true)); - TransitionHelper.applyBackwardTransition(BaseSetupWizardActivity.this, - TransitionHelper.TRANSITION_FADE_THROUGH, true); } }); + // Apply default transition, to take effect whenever leaving this activity. + applyForwardTransition(); } @Override @@ -229,10 +230,12 @@ public abstract class BaseSetupWizardActivity extends AppCompatActivity implemen protected final void finishAction(int resultCode, Intent data) { if (resultCode != RESULT_CANCELED) { nextAction(resultCode, data); + finish(); } else { setResult(resultCode, data); + finish(); + applyBackwardTransition(); } - finish(); } public final void nextAction(int resultCode) { @@ -252,23 +255,21 @@ public abstract class BaseSetupWizardActivity extends AppCompatActivity implemen startActivityForResult(intent); } + /** Adorn the Intent with Setup Wizard-related extras. */ + protected Intent decorateIntent(Intent intent) { + return intent + .putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, isFirstRun()) + .putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true) + .putExtra(WizardManagerHelper.EXTRA_THEME, ThemeHelper.THEME_GLIF_V4); + } + @Override public void startActivity(Intent intent) { - intent.putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, isFirstRun()); - intent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true); - intent.putExtra(WizardManagerHelper.EXTRA_THEME, ThemeHelper.THEME_GLIF_V4); - super.startActivity(intent); - TransitionHelper.applyForwardTransition(this, - TransitionHelper.TRANSITION_FADE_THROUGH, true); + super.startActivity(decorateIntent(intent)); } protected final void startActivityForResult(@NonNull Intent intent) { - intent.putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, isFirstRun()); - intent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true); - intent.putExtra(WizardManagerHelper.EXTRA_THEME, ThemeHelper.THEME_GLIF_V4); - activityResultLauncher.launch(intent); - TransitionHelper.applyForwardTransition(this, - TransitionHelper.TRANSITION_FADE_THROUGH, true); + activityResultLauncher.launch(decorateIntent(intent)); } protected void onActivityResult(ActivityResult activityResult) { @@ -330,4 +331,13 @@ public abstract class BaseSetupWizardActivity extends AppCompatActivity implemen protected int getIconResId() { return -1; } + + protected void applyForwardTransition() { + TransitionHelper.applyForwardTransition(this, DEFAULT_TRANSITION, true); + } + + protected void applyBackwardTransition() { + TransitionHelper.applyBackwardTransition(BaseSetupWizardActivity.this, + DEFAULT_TRANSITION, true); + } } diff --git a/src/org/lineageos/setupwizard/SimMissingActivity.java b/src/org/lineageos/setupwizard/SimMissingActivity.java index c4464018..d5214973 100644 --- a/src/org/lineageos/setupwizard/SimMissingActivity.java +++ b/src/org/lineageos/setupwizard/SimMissingActivity.java @@ -13,8 +13,6 @@ import android.content.Intent; import androidx.activity.result.ActivityResult; -import com.google.android.setupdesign.transition.TransitionHelper; - import org.lineageos.setupwizard.util.SetupWizardUtils; public class SimMissingActivity extends SubBaseActivity { @@ -42,8 +40,6 @@ public class SimMissingActivity extends SubBaseActivity { } else { finishAction(RESULT_CANCELED, data); } - TransitionHelper.applyBackwardTransition(this, - TransitionHelper.TRANSITION_FADE_THROUGH, true); } else if (!SetupWizardUtils.simMissing(this)) { nextAction(RESULT_OK); } diff --git a/src/org/lineageos/setupwizard/SubBaseActivity.java b/src/org/lineageos/setupwizard/SubBaseActivity.java index d5f86648..05caf36b 100644 --- a/src/org/lineageos/setupwizard/SubBaseActivity.java +++ b/src/org/lineageos/setupwizard/SubBaseActivity.java @@ -19,8 +19,6 @@ import android.util.Log; import androidx.activity.result.ActivityResult; -import com.google.android.setupdesign.transition.TransitionHelper; - public abstract class SubBaseActivity extends BaseSetupWizardActivity { public static final String TAG = SubBaseActivity.class.getSimpleName(); @@ -82,8 +80,6 @@ public abstract class SubBaseActivity extends BaseSetupWizardActivity { finishAction(RESULT_ACTIVITY_NOT_FOUND); } else if (data != null && data.getBooleanExtra("onBackPressed", false)) { onStartSubactivity(); - TransitionHelper.applyBackwardTransition(this, - TransitionHelper.TRANSITION_FADE_THROUGH, true); } else { finishAction(RESULT_CANCELED); }