Add settings for the assist gesture.

Availability of the gesture is gated by a new FeatureProvider.

Test: make -j RunSettingsRoboTests; manual test on
      supported/unsupported configurations.

Change-Id: I3529367a73e33370d5112b91d5144293ffa7fa22
This commit is contained in:
Philip Quinn
2017-02-13 20:07:09 -08:00
parent cd79e3a785
commit a9831d40d0
23 changed files with 485 additions and 9 deletions

View File

@@ -29,6 +29,8 @@ import com.android.internal.app.AssistUtils;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.gestures.AssistGestureFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.voice.VoiceInputListPreference;
/**
@@ -38,6 +40,7 @@ public class ManageAssist extends SettingsPreferenceFragment
implements Preference.OnPreferenceChangeListener {
private static final String KEY_DEFAULT_ASSIST = "default_assist";
private static final String KEY_ASSIST_GESTURE = "gesture_assist";
private static final String KEY_CONTEXT = "context";
private static final String KEY_SCREENSHOT = "screenshot";
private static final String KEY_VOICE_INPUT = "voice_input_settings";
@@ -50,6 +53,9 @@ public class ManageAssist extends SettingsPreferenceFragment
private VoiceInputListPreference mVoiceInputPref;
private Handler mHandler = new Handler();
private Preference mAssistGesturePref;
private AssistGestureFeatureProvider mAssistGestureFeatureProvider;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
@@ -58,6 +64,10 @@ public class ManageAssist extends SettingsPreferenceFragment
mDefaultAssitPref = (DefaultAssistPreference) findPreference(KEY_DEFAULT_ASSIST);
mDefaultAssitPref.setOnPreferenceChangeListener(this);
mAssistGesturePref = findPreference(KEY_ASSIST_GESTURE);
mAssistGestureFeatureProvider =
FeatureFactory.getFactory(getContext()).getAssistGestureFeatureProvider();
mContextPref = (SwitchPreference) findPreference(KEY_CONTEXT);
mContextPref.setChecked(Settings.Secure.getInt(getContentResolver(),
Settings.Secure.ASSIST_STRUCTURE_ENABLED, 1) != 0);
@@ -142,6 +152,12 @@ public class ManageAssist extends SettingsPreferenceFragment
getPreferenceScreen().removePreference(mFlashPref);
}
if (hasAssistant && mAssistGestureFeatureProvider.isSupported(getContext())) {
getPreferenceScreen().addPreference(mAssistGesturePref);
} else {
getPreferenceScreen().removePreference(mAssistGesturePref);
}
if (hasAssistant && AssistUtils.allowDisablingAssistDisclosure(getContext())) {
getPreferenceScreen().addPreference(mFlashPref);
} else {