Use trampoline for FaceEnrollIntroductionInternal
This gives activity embedding logic a chance to notice what taskfragment the elements should be in, and prevents a bug where the topmost activity can dissapear under the stack. Test: Manual Bug: 324018644 Change-Id: Iea8d367247b13ffe66f4558be49e8060fb7db4c5
This commit is contained in:
@@ -16,8 +16,34 @@
|
||||
|
||||
package com.android.settings.biometrics.face;
|
||||
|
||||
import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
/**
|
||||
* Wrapper of {@link FaceEnrollIntroduction} to use with a pre-defined task affinity.
|
||||
*
|
||||
* <p>Trampolines over to FaceEnrollIntroduction - doing this as a trampoline rather than having
|
||||
* this activity extend FaceEnrollIntroduction works around b/331157120.
|
||||
*/
|
||||
public class FaceEnrollIntroductionInternal extends FaceEnrollIntroduction {
|
||||
public class FaceEnrollIntroductionInternal extends FragmentActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (isFinishing()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Copy our intent to grab all extras. Drop flags so we don't start new tasks twice.
|
||||
Intent trampoline = new Intent(getIntent());
|
||||
trampoline.setFlags(0);
|
||||
|
||||
// Trampoline to the intended activity, and finish
|
||||
trampoline.setClassName(SETTINGS_PACKAGE_NAME, FaceEnrollIntroduction.class.getName());
|
||||
startActivity(trampoline);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user