GameMode: remove hwkeys toggle on non-hwkeys devices
Change-Id: I730ccd05c4fd2e00966201ba3ab0dfb07ede1a1b Signed-off-by: DennySPB <dennyspb@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com> Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
@@ -75,6 +75,11 @@ public class GamingMode extends SettingsPreferenceFragment
|
||||
private Map<String, Package> mGamingPackages;
|
||||
private Context mContext;
|
||||
|
||||
private static final int KEY_MASK_HOME = 0x01;
|
||||
private static final int KEY_MASK_BACK = 0x02;
|
||||
private static final int KEY_MASK_MENU = 0x04;
|
||||
private static final int KEY_MASK_APP_SWITCH = 0x10;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -87,6 +92,10 @@ public class GamingMode extends SettingsPreferenceFragment
|
||||
|
||||
mHardwareKeysDisable = (SwitchPreference) findPreference(GAMING_MODE_HW_KEYS);
|
||||
|
||||
if (!haveHWkeys()) {
|
||||
prefScreen.removePreference(mHardwareKeysDisable);
|
||||
}
|
||||
|
||||
mPackageManager = getPackageManager();
|
||||
mPackageAdapter = new PackageListAdapter(getActivity());
|
||||
|
||||
@@ -339,4 +348,17 @@ public class GamingMode extends SettingsPreferenceFragment
|
||||
Settings.System.putString(getContentResolver(),
|
||||
setting, value);
|
||||
}
|
||||
|
||||
private boolean haveHWkeys() {
|
||||
final int deviceKeys = getContext().getResources().getInteger(
|
||||
com.android.internal.R.integer.config_deviceHardwareKeys);
|
||||
|
||||
// read bits for present hardware keys
|
||||
final boolean hasHomeKey = (deviceKeys & KEY_MASK_HOME) != 0;
|
||||
final boolean hasBackKey = (deviceKeys & KEY_MASK_BACK) != 0;
|
||||
final boolean hasMenuKey = (deviceKeys & KEY_MASK_MENU) != 0;
|
||||
final boolean hasAppSwitchKey = (deviceKeys & KEY_MASK_APP_SWITCH) != 0;
|
||||
|
||||
return (hasHomeKey || hasBackKey || hasMenuKey || hasAppSwitchKey);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user