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;
|
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.
|
* 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