Refactor activity decorations and transitions
Reuse some code, and prevent the need to have to apply transitions in multiple places. Change-Id: I5319e49136d6d05de3eb03eff8dae0f3560e509a
This commit is contained in:
@@ -43,6 +43,7 @@ public abstract class BaseSetupWizardActivity extends AppCompatActivity implemen
|
|||||||
NavigationBarListener {
|
NavigationBarListener {
|
||||||
|
|
||||||
public static final String TAG = BaseSetupWizardActivity.class.getSimpleName();
|
public static final String TAG = BaseSetupWizardActivity.class.getSimpleName();
|
||||||
|
public static final int DEFAULT_TRANSITION = TransitionHelper.TRANSITION_FADE_THROUGH;
|
||||||
|
|
||||||
private NavigationLayout mNavigationBar;
|
private NavigationLayout mNavigationBar;
|
||||||
|
|
||||||
@@ -68,10 +69,10 @@ public abstract class BaseSetupWizardActivity extends AppCompatActivity implemen
|
|||||||
Log.v(TAG, "handleOnBackPressed()");
|
Log.v(TAG, "handleOnBackPressed()");
|
||||||
}
|
}
|
||||||
finishAction(RESULT_CANCELED, new Intent().putExtra("onBackPressed", true));
|
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
|
@Override
|
||||||
@@ -229,10 +230,12 @@ public abstract class BaseSetupWizardActivity extends AppCompatActivity implemen
|
|||||||
protected final void finishAction(int resultCode, Intent data) {
|
protected final void finishAction(int resultCode, Intent data) {
|
||||||
if (resultCode != RESULT_CANCELED) {
|
if (resultCode != RESULT_CANCELED) {
|
||||||
nextAction(resultCode, data);
|
nextAction(resultCode, data);
|
||||||
|
finish();
|
||||||
} else {
|
} else {
|
||||||
setResult(resultCode, data);
|
setResult(resultCode, data);
|
||||||
}
|
|
||||||
finish();
|
finish();
|
||||||
|
applyBackwardTransition();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void nextAction(int resultCode) {
|
public final void nextAction(int resultCode) {
|
||||||
@@ -252,23 +255,21 @@ public abstract class BaseSetupWizardActivity extends AppCompatActivity implemen
|
|||||||
startActivityForResult(intent);
|
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
|
@Override
|
||||||
public void startActivity(Intent intent) {
|
public void startActivity(Intent intent) {
|
||||||
intent.putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, isFirstRun());
|
super.startActivity(decorateIntent(intent));
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final void startActivityForResult(@NonNull Intent intent) {
|
protected final void startActivityForResult(@NonNull Intent intent) {
|
||||||
intent.putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, isFirstRun());
|
activityResultLauncher.launch(decorateIntent(intent));
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void onActivityResult(ActivityResult activityResult) {
|
protected void onActivityResult(ActivityResult activityResult) {
|
||||||
@@ -330,4 +331,13 @@ public abstract class BaseSetupWizardActivity extends AppCompatActivity implemen
|
|||||||
protected int getIconResId() {
|
protected int getIconResId() {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void applyForwardTransition() {
|
||||||
|
TransitionHelper.applyForwardTransition(this, DEFAULT_TRANSITION, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void applyBackwardTransition() {
|
||||||
|
TransitionHelper.applyBackwardTransition(BaseSetupWizardActivity.this,
|
||||||
|
DEFAULT_TRANSITION, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -13,8 +13,6 @@ import android.content.Intent;
|
|||||||
|
|
||||||
import androidx.activity.result.ActivityResult;
|
import androidx.activity.result.ActivityResult;
|
||||||
|
|
||||||
import com.google.android.setupdesign.transition.TransitionHelper;
|
|
||||||
|
|
||||||
import org.lineageos.setupwizard.util.SetupWizardUtils;
|
import org.lineageos.setupwizard.util.SetupWizardUtils;
|
||||||
|
|
||||||
public class SimMissingActivity extends SubBaseActivity {
|
public class SimMissingActivity extends SubBaseActivity {
|
||||||
@@ -42,8 +40,6 @@ public class SimMissingActivity extends SubBaseActivity {
|
|||||||
} else {
|
} else {
|
||||||
finishAction(RESULT_CANCELED, data);
|
finishAction(RESULT_CANCELED, data);
|
||||||
}
|
}
|
||||||
TransitionHelper.applyBackwardTransition(this,
|
|
||||||
TransitionHelper.TRANSITION_FADE_THROUGH, true);
|
|
||||||
} else if (!SetupWizardUtils.simMissing(this)) {
|
} else if (!SetupWizardUtils.simMissing(this)) {
|
||||||
nextAction(RESULT_OK);
|
nextAction(RESULT_OK);
|
||||||
}
|
}
|
||||||
|
@@ -19,8 +19,6 @@ import android.util.Log;
|
|||||||
|
|
||||||
import androidx.activity.result.ActivityResult;
|
import androidx.activity.result.ActivityResult;
|
||||||
|
|
||||||
import com.google.android.setupdesign.transition.TransitionHelper;
|
|
||||||
|
|
||||||
public abstract class SubBaseActivity extends BaseSetupWizardActivity {
|
public abstract class SubBaseActivity extends BaseSetupWizardActivity {
|
||||||
|
|
||||||
public static final String TAG = SubBaseActivity.class.getSimpleName();
|
public static final String TAG = SubBaseActivity.class.getSimpleName();
|
||||||
@@ -82,8 +80,6 @@ public abstract class SubBaseActivity extends BaseSetupWizardActivity {
|
|||||||
finishAction(RESULT_ACTIVITY_NOT_FOUND);
|
finishAction(RESULT_ACTIVITY_NOT_FOUND);
|
||||||
} else if (data != null && data.getBooleanExtra("onBackPressed", false)) {
|
} else if (data != null && data.getBooleanExtra("onBackPressed", false)) {
|
||||||
onStartSubactivity();
|
onStartSubactivity();
|
||||||
TransitionHelper.applyBackwardTransition(this,
|
|
||||||
TransitionHelper.TRANSITION_FADE_THROUGH, true);
|
|
||||||
} else {
|
} else {
|
||||||
finishAction(RESULT_CANCELED);
|
finishAction(RESULT_CANCELED);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user