SUW: add page for navigation mode
Skip the page if device has HW-keys and does not enable software keys. Change-Id: I9efb49ddb1c2a101e6395c9034eacbeb0cfec6b6
This commit is contained in:
committed by
Michael W
parent
563a38c121
commit
e83f9e12a1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2016 The CyanogenMod Project
|
||||
* Copyright (C) 2017-2020 The LineageOS Project
|
||||
* Copyright (C) 2017-2020, 2022 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -18,6 +18,9 @@
|
||||
package org.lineageos.setupwizard;
|
||||
|
||||
import static android.os.Binder.getCallingUserHandle;
|
||||
import static android.os.UserHandle.USER_CURRENT;
|
||||
import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_3BUTTON_OVERLAY;
|
||||
import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_OVERLAY;
|
||||
|
||||
import static org.lineageos.setupwizard.Manifest.permission.FINISH_SETUP;
|
||||
import static org.lineageos.setupwizard.SetupWizardApp.ACTION_SETUP_COMPLETE;
|
||||
@@ -25,6 +28,7 @@ import static org.lineageos.setupwizard.SetupWizardApp.DISABLE_NAV_KEYS;
|
||||
import static org.lineageos.setupwizard.SetupWizardApp.ENABLE_RECOVERY_UPDATE;
|
||||
import static org.lineageos.setupwizard.SetupWizardApp.KEY_SEND_METRICS;
|
||||
import static org.lineageos.setupwizard.SetupWizardApp.LOGV;
|
||||
import static org.lineageos.setupwizard.SetupWizardApp.NAVIGATION_OPTION_KEY;
|
||||
import static org.lineageos.setupwizard.SetupWizardApp.UPDATE_RECOVERY_PROP;
|
||||
|
||||
import android.animation.Animator;
|
||||
@@ -33,11 +37,13 @@ import android.app.WallpaperManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.om.IOverlayManager;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Point;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.ServiceManager;
|
||||
import android.os.SystemProperties;
|
||||
import android.os.UserHandle;
|
||||
import android.preference.PreferenceManager;
|
||||
@@ -172,6 +178,7 @@ public class FinishActivity extends BaseSetupWizardActivity {
|
||||
handleEnableMetrics(mSetupWizardApp);
|
||||
handleNavKeys(mSetupWizardApp);
|
||||
handleRecoveryUpdate(mSetupWizardApp);
|
||||
handleNavigationOption(mSetupWizardApp);
|
||||
final WallpaperManager wallpaperManager =
|
||||
WallpaperManager.getInstance(mSetupWizardApp);
|
||||
wallpaperManager.forgetLoadedWallpaper();
|
||||
@@ -209,6 +216,19 @@ public class FinishActivity extends BaseSetupWizardActivity {
|
||||
}
|
||||
}
|
||||
|
||||
private void handleNavigationOption(Context context) {
|
||||
Bundle settingsBundle = mSetupWizardApp.getSettingsBundle();
|
||||
if (settingsBundle.containsKey(NAVIGATION_OPTION_KEY)) {
|
||||
IOverlayManager overlayManager = IOverlayManager.Stub.asInterface(
|
||||
ServiceManager.getService(Context.OVERLAY_SERVICE));
|
||||
String selectedNavMode = settingsBundle.getString(NAVIGATION_OPTION_KEY);
|
||||
|
||||
try {
|
||||
overlayManager.setEnabledExclusiveInCategory(selectedNavMode, USER_CURRENT);
|
||||
} catch (Exception e) {}
|
||||
}
|
||||
}
|
||||
|
||||
private static void writeDisableNavkeysOption(Context context, boolean enabled) {
|
||||
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
|
Reference in New Issue
Block a user