Loading src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java +27 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.Context; import android.graphics.drawable.Drawable; import android.hardware.input.InputManager; Loading @@ -47,6 +48,7 @@ import androidx.preference.Preference; import com.android.settings.R; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.Utils; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import java.util.ArrayList; import java.util.Arrays; Loading @@ -68,6 +70,7 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { private TextView mLeftBracket; private TextView mRightBracket; private ImageView mActionKeyIcon; private MetricsFeatureProvider mMetricsFeatureProvider; private List<int[]> mRemappableKeyList = new ArrayList<>(Arrays.asList( Loading @@ -92,6 +95,7 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { mActivity = getActivity(); FeatureFactory featureFactory = FeatureFactory.getFeatureFactory(); mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider(); mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider(); InputManager inputManager = mActivity.getSystemService(InputManager.class); mKeyDefaultName = getArguments().getString(DEFAULT_KEY); Loading Loading @@ -139,6 +143,7 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { doneButton.setOnClickListener(v -> { String selectedItem = modifierKeys.get(adapter.getCurrentItem()); Spannable itemSummary; logMetricsForRemapping(selectedItem); if (selectedItem.equals(mKeyDefaultName)) { itemSummary = new SpannableString( mActivity.getString(R.string.modifier_keys_default_summary)); Loading Loading @@ -189,6 +194,28 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { return modifierKeyDialog; } private void logMetricsForRemapping(String selectedItem) { if (mKeyDefaultName.equals("Caps lock")) { mMetricsFeatureProvider.action( mActivity, SettingsEnums.ACTION_FROM_CAPS_LOCK_TO, selectedItem); } if (mKeyDefaultName.equals("Ctrl")) { mMetricsFeatureProvider.action( mActivity, SettingsEnums.ACTION_FROM_CTRL_TO, selectedItem); } if (mKeyDefaultName.equals("Action key")) { mMetricsFeatureProvider.action( mActivity, SettingsEnums.ACTION_FROM_ACTION_KEY_TO, selectedItem); } if (mKeyDefaultName.equals("Alt")) { mMetricsFeatureProvider.action( mActivity, SettingsEnums.ACTION_FROM_ALT_TO, selectedItem); } } private void setInitialFocusItem( List<String> modifierKeys, ModifierKeyAdapter adapter) { if (modifierKeys.indexOf(mKeyFocus) == -1) { Loading src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java +7 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.settings.SettingsEnums; import android.hardware.input.InputManager; import android.os.Bundle; import android.view.LayoutInflater; Loading @@ -31,6 +32,8 @@ import android.widget.Button; import androidx.fragment.app.DialogFragment; import com.android.settings.R; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; public class ModifierKeysResetDialogFragment extends DialogFragment { Loading @@ -39,6 +42,8 @@ public class ModifierKeysResetDialogFragment extends DialogFragment { private static final String MODIFIER_KEYS_META = "modifier_keys_meta"; private static final String MODIFIER_KEYS_ALT = "modifier_keys_alt"; private MetricsFeatureProvider mMetricsFeatureProvider; private String[] mKeys = { MODIFIER_KEYS_CAPS_LOCK, MODIFIER_KEYS_CTRL, Loading @@ -52,6 +57,7 @@ public class ModifierKeysResetDialogFragment extends DialogFragment { super.onCreateDialog(savedInstanceState); Activity activity = getActivity(); mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); InputManager inputManager = activity.getSystemService(InputManager.class); View dialoglayout = LayoutInflater.from(activity).inflate(R.layout.modifier_key_reset_dialog, null); Loading @@ -61,6 +67,7 @@ public class ModifierKeysResetDialogFragment extends DialogFragment { Button restoreButton = dialoglayout.findViewById(R.id.modifier_key_reset_restore_button); restoreButton.setOnClickListener(v -> { mMetricsFeatureProvider.action(activity, SettingsEnums.ACTION_CLEAR_REMAPPINGS); inputManager.clearAllModifierKeyRemappings(); dismiss(); activity.recreate(); Loading src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java +13 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.inputmethod; import android.app.settings.SettingsEnums; import android.content.Context; import android.hardware.input.InputDeviceIdentifier; import android.hardware.input.InputManager; Loading @@ -30,7 +31,9 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settings.widget.TickButtonPreference; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; Loading @@ -53,13 +56,16 @@ public class NewKeyboardLayoutPickerController extends BasePreferenceController private KeyboardLayout[] mKeyboardLayouts; private PreferenceScreen mScreen; private String mPreviousSelection; private String mFinalSelectedLayout; private String mLayout; private MetricsFeatureProvider mMetricsFeatureProvider; public NewKeyboardLayoutPickerController(Context context, String key) { super(context, key); mIm = context.getSystemService(InputManager.class); mInputDeviceId = -1; mPreferenceMap = new HashMap<>(); mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); } public void initialize(Fragment parent) { Loading @@ -74,6 +80,7 @@ public class NewKeyboardLayoutPickerController extends BasePreferenceController mInputMethodSubtype = arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_SUBTYPE); mLayout = getSelectedLayoutLabel(); mFinalSelectedLayout = mLayout; mKeyboardLayouts = mIm.getKeyboardLayoutListForInputDevice( mInputDeviceIdentifier, mUserId, mInputMethodInfo, mInputMethodSubtype); parent.getActivity().setTitle(mTitle); Loading @@ -92,6 +99,11 @@ public class NewKeyboardLayoutPickerController extends BasePreferenceController @Override public void onStop() { if (!mLayout.equals(mFinalSelectedLayout)) { String change = "From:" + mLayout + ", to:" + mFinalSelectedLayout; mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_PK_LAYOUT_CHANGED, change); } mIm.unregisterInputDeviceListener(this); mInputDeviceId = -1; } Loading Loading @@ -122,6 +134,7 @@ public class NewKeyboardLayoutPickerController extends BasePreferenceController } setLayout(pref); mPreviousSelection = preference.getKey(); mFinalSelectedLayout = pref.getTitle().toString(); return true; } Loading src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java +27 −2 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment SHOW_VIRTUAL_KEYBOARD_SWITCH)); FeatureFactory featureFactory = FeatureFactory.getFeatureFactory(); mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider(); mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider(); mSupportsFirmwareUpdate = mFeatureProvider.supportsFirmwareUpdate(); if (mSupportsFirmwareUpdate) { Loading @@ -124,6 +125,10 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER); int intentFromWhere = activity.getIntent().getIntExtra(android.provider.Settings.EXTRA_ENTRYPOINT, -1); if (intentFromWhere != -1) { mMetricsFeatureProvider.action( getContext(), SettingsEnums.ACTION_OPEN_PK_SETTINGS_FROM, intentFromWhere); } if (inputDeviceIdentifier != null) { mAutoInputDeviceIdentifier = inputDeviceIdentifier; } Loading Loading @@ -254,6 +259,16 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment }); } category.addPreference(pref); StringBuilder vendorAndProductId = new StringBuilder(); String vendorId = String.valueOf(hardKeyboardDeviceInfo.mVendorId); String productId = String.valueOf(hardKeyboardDeviceInfo.mProductId); vendorAndProductId.append(vendorId); vendorAndProductId.append("-"); vendorAndProductId.append(productId); mMetricsFeatureProvider.action( getContext(), SettingsEnums.ACTION_USE_SPECIFIC_KEYBOARD, vendorAndProductId.toString()); } mKeyboardAssistanceCategory.setOrder(1); preferenceScreen.addPreference(mKeyboardAssistanceCategory); Loading Loading @@ -374,7 +389,9 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment device.getName(), device.getIdentifier(), getLayoutLabel(device, context, im), device.getBluetoothAddress())); device.getBluetoothAddress(), device.getVendorId(), device.getProductId())); } // We intentionally don't reuse Comparator because Collator may not be thread-safe. Loading Loading @@ -403,16 +420,24 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment public final String mLayoutLabel; @Nullable public final String mBluetoothAddress; @NonNull public final int mVendorId; @NonNull public final int mProductId; public HardKeyboardDeviceInfo( @Nullable String deviceName, @NonNull InputDeviceIdentifier deviceIdentifier, @NonNull String layoutLabel, @Nullable String bluetoothAddress) { @Nullable String bluetoothAddress, @NonNull int vendorId, @NonNull int productId) { mDeviceName = TextUtils.emptyIfNull(deviceName); mDeviceIdentifier = deviceIdentifier; mLayoutLabel = layoutLabel; mBluetoothAddress = bluetoothAddress; mVendorId = vendorId; mProductId = productId; } @Override Loading src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java +6 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.inputmethod; import android.app.settings.SettingsEnums; import android.content.Context; import android.util.FeatureFlagUtils; Loading @@ -23,6 +24,8 @@ import androidx.fragment.app.Fragment; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.widget.ButtonPreference; public class TouchGesturesButtonPreferenceController extends BasePreferenceController { Loading @@ -33,9 +36,11 @@ public class TouchGesturesButtonPreferenceController extends BasePreferenceContr private static final String GESTURE_DIALOG_TAG = "GESTURE_DIALOG_TAG"; private Fragment mParent; private MetricsFeatureProvider mMetricsFeatureProvider; public TouchGesturesButtonPreferenceController(Context context, String key) { super(context, key); mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); } public void setFragment(Fragment parent) { Loading Loading @@ -67,6 +72,7 @@ public class TouchGesturesButtonPreferenceController extends BasePreferenceContr } private void showTouchpadGestureEducation() { mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_LEARN_TOUCHPAD_GESTURE_CLICK); TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment(); fragment.setTargetFragment(mParent, 0); fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG); Loading Loading
src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java +27 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.Context; import android.graphics.drawable.Drawable; import android.hardware.input.InputManager; Loading @@ -47,6 +48,7 @@ import androidx.preference.Preference; import com.android.settings.R; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.Utils; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import java.util.ArrayList; import java.util.Arrays; Loading @@ -68,6 +70,7 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { private TextView mLeftBracket; private TextView mRightBracket; private ImageView mActionKeyIcon; private MetricsFeatureProvider mMetricsFeatureProvider; private List<int[]> mRemappableKeyList = new ArrayList<>(Arrays.asList( Loading @@ -92,6 +95,7 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { mActivity = getActivity(); FeatureFactory featureFactory = FeatureFactory.getFeatureFactory(); mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider(); mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider(); InputManager inputManager = mActivity.getSystemService(InputManager.class); mKeyDefaultName = getArguments().getString(DEFAULT_KEY); Loading Loading @@ -139,6 +143,7 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { doneButton.setOnClickListener(v -> { String selectedItem = modifierKeys.get(adapter.getCurrentItem()); Spannable itemSummary; logMetricsForRemapping(selectedItem); if (selectedItem.equals(mKeyDefaultName)) { itemSummary = new SpannableString( mActivity.getString(R.string.modifier_keys_default_summary)); Loading Loading @@ -189,6 +194,28 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { return modifierKeyDialog; } private void logMetricsForRemapping(String selectedItem) { if (mKeyDefaultName.equals("Caps lock")) { mMetricsFeatureProvider.action( mActivity, SettingsEnums.ACTION_FROM_CAPS_LOCK_TO, selectedItem); } if (mKeyDefaultName.equals("Ctrl")) { mMetricsFeatureProvider.action( mActivity, SettingsEnums.ACTION_FROM_CTRL_TO, selectedItem); } if (mKeyDefaultName.equals("Action key")) { mMetricsFeatureProvider.action( mActivity, SettingsEnums.ACTION_FROM_ACTION_KEY_TO, selectedItem); } if (mKeyDefaultName.equals("Alt")) { mMetricsFeatureProvider.action( mActivity, SettingsEnums.ACTION_FROM_ALT_TO, selectedItem); } } private void setInitialFocusItem( List<String> modifierKeys, ModifierKeyAdapter adapter) { if (modifierKeys.indexOf(mKeyFocus) == -1) { Loading
src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java +7 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.settings.SettingsEnums; import android.hardware.input.InputManager; import android.os.Bundle; import android.view.LayoutInflater; Loading @@ -31,6 +32,8 @@ import android.widget.Button; import androidx.fragment.app.DialogFragment; import com.android.settings.R; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; public class ModifierKeysResetDialogFragment extends DialogFragment { Loading @@ -39,6 +42,8 @@ public class ModifierKeysResetDialogFragment extends DialogFragment { private static final String MODIFIER_KEYS_META = "modifier_keys_meta"; private static final String MODIFIER_KEYS_ALT = "modifier_keys_alt"; private MetricsFeatureProvider mMetricsFeatureProvider; private String[] mKeys = { MODIFIER_KEYS_CAPS_LOCK, MODIFIER_KEYS_CTRL, Loading @@ -52,6 +57,7 @@ public class ModifierKeysResetDialogFragment extends DialogFragment { super.onCreateDialog(savedInstanceState); Activity activity = getActivity(); mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); InputManager inputManager = activity.getSystemService(InputManager.class); View dialoglayout = LayoutInflater.from(activity).inflate(R.layout.modifier_key_reset_dialog, null); Loading @@ -61,6 +67,7 @@ public class ModifierKeysResetDialogFragment extends DialogFragment { Button restoreButton = dialoglayout.findViewById(R.id.modifier_key_reset_restore_button); restoreButton.setOnClickListener(v -> { mMetricsFeatureProvider.action(activity, SettingsEnums.ACTION_CLEAR_REMAPPINGS); inputManager.clearAllModifierKeyRemappings(); dismiss(); activity.recreate(); Loading
src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java +13 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.inputmethod; import android.app.settings.SettingsEnums; import android.content.Context; import android.hardware.input.InputDeviceIdentifier; import android.hardware.input.InputManager; Loading @@ -30,7 +31,9 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settings.widget.TickButtonPreference; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; Loading @@ -53,13 +56,16 @@ public class NewKeyboardLayoutPickerController extends BasePreferenceController private KeyboardLayout[] mKeyboardLayouts; private PreferenceScreen mScreen; private String mPreviousSelection; private String mFinalSelectedLayout; private String mLayout; private MetricsFeatureProvider mMetricsFeatureProvider; public NewKeyboardLayoutPickerController(Context context, String key) { super(context, key); mIm = context.getSystemService(InputManager.class); mInputDeviceId = -1; mPreferenceMap = new HashMap<>(); mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); } public void initialize(Fragment parent) { Loading @@ -74,6 +80,7 @@ public class NewKeyboardLayoutPickerController extends BasePreferenceController mInputMethodSubtype = arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_SUBTYPE); mLayout = getSelectedLayoutLabel(); mFinalSelectedLayout = mLayout; mKeyboardLayouts = mIm.getKeyboardLayoutListForInputDevice( mInputDeviceIdentifier, mUserId, mInputMethodInfo, mInputMethodSubtype); parent.getActivity().setTitle(mTitle); Loading @@ -92,6 +99,11 @@ public class NewKeyboardLayoutPickerController extends BasePreferenceController @Override public void onStop() { if (!mLayout.equals(mFinalSelectedLayout)) { String change = "From:" + mLayout + ", to:" + mFinalSelectedLayout; mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_PK_LAYOUT_CHANGED, change); } mIm.unregisterInputDeviceListener(this); mInputDeviceId = -1; } Loading Loading @@ -122,6 +134,7 @@ public class NewKeyboardLayoutPickerController extends BasePreferenceController } setLayout(pref); mPreviousSelection = preference.getKey(); mFinalSelectedLayout = pref.getTitle().toString(); return true; } Loading
src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java +27 −2 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment SHOW_VIRTUAL_KEYBOARD_SWITCH)); FeatureFactory featureFactory = FeatureFactory.getFeatureFactory(); mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider(); mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider(); mSupportsFirmwareUpdate = mFeatureProvider.supportsFirmwareUpdate(); if (mSupportsFirmwareUpdate) { Loading @@ -124,6 +125,10 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER); int intentFromWhere = activity.getIntent().getIntExtra(android.provider.Settings.EXTRA_ENTRYPOINT, -1); if (intentFromWhere != -1) { mMetricsFeatureProvider.action( getContext(), SettingsEnums.ACTION_OPEN_PK_SETTINGS_FROM, intentFromWhere); } if (inputDeviceIdentifier != null) { mAutoInputDeviceIdentifier = inputDeviceIdentifier; } Loading Loading @@ -254,6 +259,16 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment }); } category.addPreference(pref); StringBuilder vendorAndProductId = new StringBuilder(); String vendorId = String.valueOf(hardKeyboardDeviceInfo.mVendorId); String productId = String.valueOf(hardKeyboardDeviceInfo.mProductId); vendorAndProductId.append(vendorId); vendorAndProductId.append("-"); vendorAndProductId.append(productId); mMetricsFeatureProvider.action( getContext(), SettingsEnums.ACTION_USE_SPECIFIC_KEYBOARD, vendorAndProductId.toString()); } mKeyboardAssistanceCategory.setOrder(1); preferenceScreen.addPreference(mKeyboardAssistanceCategory); Loading Loading @@ -374,7 +389,9 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment device.getName(), device.getIdentifier(), getLayoutLabel(device, context, im), device.getBluetoothAddress())); device.getBluetoothAddress(), device.getVendorId(), device.getProductId())); } // We intentionally don't reuse Comparator because Collator may not be thread-safe. Loading Loading @@ -403,16 +420,24 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment public final String mLayoutLabel; @Nullable public final String mBluetoothAddress; @NonNull public final int mVendorId; @NonNull public final int mProductId; public HardKeyboardDeviceInfo( @Nullable String deviceName, @NonNull InputDeviceIdentifier deviceIdentifier, @NonNull String layoutLabel, @Nullable String bluetoothAddress) { @Nullable String bluetoothAddress, @NonNull int vendorId, @NonNull int productId) { mDeviceName = TextUtils.emptyIfNull(deviceName); mDeviceIdentifier = deviceIdentifier; mLayoutLabel = layoutLabel; mBluetoothAddress = bluetoothAddress; mVendorId = vendorId; mProductId = productId; } @Override Loading
src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java +6 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.inputmethod; import android.app.settings.SettingsEnums; import android.content.Context; import android.util.FeatureFlagUtils; Loading @@ -23,6 +24,8 @@ import androidx.fragment.app.Fragment; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.widget.ButtonPreference; public class TouchGesturesButtonPreferenceController extends BasePreferenceController { Loading @@ -33,9 +36,11 @@ public class TouchGesturesButtonPreferenceController extends BasePreferenceContr private static final String GESTURE_DIALOG_TAG = "GESTURE_DIALOG_TAG"; private Fragment mParent; private MetricsFeatureProvider mMetricsFeatureProvider; public TouchGesturesButtonPreferenceController(Context context, String key) { super(context, key); mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); } public void setFragment(Fragment parent) { Loading Loading @@ -67,6 +72,7 @@ public class TouchGesturesButtonPreferenceController extends BasePreferenceContr } private void showTouchpadGestureEducation() { mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_LEARN_TOUCHPAD_GESTURE_CLICK); TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment(); fragment.setTargetFragment(mParent, 0); fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG); Loading