Move OnBackInvoked to BaseActivity.

In order to have all the activities in Launcher get
the same OnBackInvoked behavior, the logic is moved to BaseActivity.

Test: Manual, Tapl
Bug: 238475344
Change-Id: I3f49091397e31fe1f183596f7fba3bf514697468
This commit is contained in:
Yein Jo
2022-09-19 22:18:09 +00:00
parent 59caeb9468
commit 18446d0189
2 changed files with 17 additions and 14 deletions

View File

@@ -25,12 +25,16 @@ import android.content.Context;
import android.content.ContextWrapper;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.window.OnBackInvokedDispatcher;
import androidx.annotation.IntDef;
import com.android.launcher3.DeviceProfile.DeviceProfileListenable;
import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
import com.android.launcher3.logging.StatsLogManager;
import com.android.launcher3.testing.TestLogging;
import com.android.launcher3.testing.shared.TestProtocol;
import com.android.launcher3.util.SystemUiController;
import com.android.launcher3.util.ViewCache;
import com.android.launcher3.views.AppLauncher;
@@ -171,6 +175,19 @@ public abstract class BaseActivity extends Activity implements AppLauncher,
super.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Utilities.ATLEAST_T) {
getOnBackInvokedDispatcher().registerOnBackInvokedCallback(
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
() -> {
onBackPressed();
TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "onBackInvoked");
});
}
}
@Override
protected void onStart() {
addActivityFlags(ACTIVITY_STATE_STARTED);