Add tutorial dialog for gesture navigation
Add new tutorial dialog for gesture navigation in order to teach users how to use the gesture Fixes: 133650388 Test: Manual Change-Id: I7cc6a950af49044b27cf7ca41e3bcf67ef40b5fd
This commit is contained in:
@@ -16,6 +16,9 @@
|
||||
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
@@ -26,6 +29,8 @@ import android.media.MediaPlayer;
|
||||
import android.media.MediaPlayer.OnPreparedListener;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.view.Display;
|
||||
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
|
||||
import android.view.WindowManager;
|
||||
@@ -44,6 +49,10 @@ import com.android.settings.widget.SwitchBar;
|
||||
public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
ToggleFeaturePreferenceFragment implements SwitchBar.OnSwitchChangeListener {
|
||||
|
||||
private static final int DIALOG_ID_GESTURE_NAVIGATION_TUTORIAL = 1;
|
||||
|
||||
private Dialog mDialog;
|
||||
|
||||
protected class VideoPreference extends Preference {
|
||||
private ImageView mVideoBackgroundView;
|
||||
private OnGlobalLayoutListener mLayoutListener;
|
||||
@@ -161,12 +170,32 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
updateConfigurationWarningIfNeeded();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dialog onCreateDialog(int dialogId) {
|
||||
if (dialogId == DIALOG_ID_GESTURE_NAVIGATION_TUTORIAL) {
|
||||
if (isGestureNavigateEnabled()) {
|
||||
mDialog = AccessibilityGestureNavigationTutorial
|
||||
.showGestureNavigationTutorialDialog(getActivity());
|
||||
} else {
|
||||
mDialog = AccessibilityGestureNavigationTutorial
|
||||
.showAccessibilityButtonTutorialDialog(getActivity());
|
||||
}
|
||||
}
|
||||
|
||||
return mDialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
// TODO: Distinguish between magnification modes
|
||||
return SettingsEnums.ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDialogMetricsCategory(int dialogId) {
|
||||
return SettingsEnums.ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwitchChanged(Switch switchView, boolean isChecked) {
|
||||
onPreferenceToggled(mPreferenceKey, isChecked);
|
||||
@@ -174,6 +203,11 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
|
||||
@Override
|
||||
protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
|
||||
if (enabled && TextUtils.equals(
|
||||
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED,
|
||||
preferenceKey)) {
|
||||
showDialog(DIALOG_ID_GESTURE_NAVIGATION_TUTORIAL);
|
||||
}
|
||||
MagnificationPreferenceFragment.setChecked(getContentResolver(), preferenceKey, enabled);
|
||||
updateConfigurationWarningIfNeeded();
|
||||
}
|
||||
@@ -224,6 +258,12 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isGestureNavigateEnabled() {
|
||||
return getContext().getResources().getInteger(
|
||||
com.android.internal.R.integer.config_navBarInteractionMode)
|
||||
== NAV_BAR_MODE_GESTURAL;
|
||||
}
|
||||
|
||||
private void updateConfigurationWarningIfNeeded() {
|
||||
final CharSequence warningMessage =
|
||||
MagnificationPreferenceFragment.getConfigurationWarningStringForSecureSettingsKey(
|
||||
|
Reference in New Issue
Block a user