Hide esos setting if no app provides esos functionality
When user disables OEM app that provides esos, the setting is hidden as well. See more details on bug. Bug: 178654110 Test: robotests Change-Id: I7a0763381d3321124f4208a58bb8e10cf884f7c1
This commit is contained in:
@@ -62,7 +62,7 @@ public class EmergencyGestureEntrypointPreferenceController extends BasePreferen
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
final boolean canHandleClicks = !mUseCustomIntent || mIntent != null;
|
||||
final boolean canHandleClicks = canHandleClicks();
|
||||
if (preference != null) {
|
||||
preference.setEnabled(canHandleClicks);
|
||||
}
|
||||
@@ -86,6 +86,9 @@ public class EmergencyGestureEntrypointPreferenceController extends BasePreferen
|
||||
if (!isConfigEnabled) {
|
||||
return UNSUPPORTED_ON_DEVICE;
|
||||
}
|
||||
if (!canHandleClicks()) {
|
||||
return UNSUPPORTED_ON_DEVICE;
|
||||
}
|
||||
return AVAILABLE;
|
||||
}
|
||||
|
||||
@@ -117,6 +120,13 @@ public class EmergencyGestureEntrypointPreferenceController extends BasePreferen
|
||||
return mUseCustomIntent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not this setting can react to user click
|
||||
*/
|
||||
private boolean canHandleClicks() {
|
||||
return !mUseCustomIntent || mIntent != null;
|
||||
}
|
||||
|
||||
private boolean canResolveIntent(Intent intent) {
|
||||
final ResolveInfo resolveActivity = mContext.getPackageManager()
|
||||
.resolveActivity(intent, 0);
|
||||
|
Reference in New Issue
Block a user