Integrate UI with APIs for trackpad settgins.
1. Integrate with trackpad settings dummy APIs. 2. Integrate with trackpad gesture APIs. Bug: 247080509 Test: manual, make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.inputmethod.*" Change-Id: Ic180e28896bb0a5aa71eb0eb63d3824bd342ff45
This commit is contained in:
@@ -24,39 +24,45 @@
|
|||||||
android:title="@string/trackpad_go_back_title"
|
android:title="@string/trackpad_go_back_title"
|
||||||
android:summary="@string/trackpad_go_back_summary"
|
android:summary="@string/trackpad_go_back_summary"
|
||||||
android:icon="@drawable/ic_trackpad_gesture_back"
|
android:icon="@drawable/ic_trackpad_gesture_back"
|
||||||
android:order="10"/>
|
android:order="10"
|
||||||
|
settings:controller="com.android.settings.inputmethod.TrackpadGoBackPreferenceController"/>
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="gesture_go_home"
|
android:key="gesture_go_home"
|
||||||
android:title="@string/trackpad_go_home_title"
|
android:title="@string/trackpad_go_home_title"
|
||||||
android:summary="@string/trackpad_go_home_summary"
|
android:summary="@string/trackpad_go_home_summary"
|
||||||
android:icon="@drawable/ic_trackpad_gesture_home"
|
android:icon="@drawable/ic_trackpad_gesture_home"
|
||||||
android:order="20"/>
|
android:order="20"
|
||||||
|
settings:controller="com.android.settings.inputmethod.TrackpadGoHomePreferenceController"/>
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="gesture_recent_apps"
|
android:key="gesture_recent_apps"
|
||||||
android:title="@string/trackpad_recent_apps_title"
|
android:title="@string/trackpad_recent_apps_title"
|
||||||
android:summary="@string/trackpad_recent_apps_summary"
|
android:summary="@string/trackpad_recent_apps_summary"
|
||||||
android:icon="@drawable/ic_trackpad_gesture_recent_apps"
|
android:icon="@drawable/ic_trackpad_gesture_recent_apps"
|
||||||
android:order="30"/>
|
android:order="30"
|
||||||
|
settings:controller="com.android.settings.inputmethod.TrackpadRecentAppsPreferenceController"/>
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="gesture_notifications"
|
android:key="gesture_notifications"
|
||||||
android:title="@string/trackpad_notifications_title"
|
android:title="@string/trackpad_notifications_title"
|
||||||
android:summary="@string/trackpad_notifications_summary"
|
android:summary="@string/trackpad_notifications_summary"
|
||||||
android:icon="@drawable/ic_trackpad_gesture_notifications"
|
android:icon="@drawable/ic_trackpad_gesture_notifications"
|
||||||
android:order="40"/>
|
android:order="40"
|
||||||
|
settings:controller="com.android.settings.inputmethod.TrackpadNotificationsPreferenceController"/>
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="gesture_switch_apps"
|
android:key="gesture_switch_apps"
|
||||||
android:title="@string/trackpad_switch_apps_title"
|
android:title="@string/trackpad_switch_apps_title"
|
||||||
android:summary="@string/trackpad_switch_apps_summary"
|
android:summary="@string/trackpad_switch_apps_summary"
|
||||||
android:icon="@drawable/ic_trackpad_gesture_switch_apps"
|
android:icon="@drawable/ic_trackpad_gesture_switch_apps"
|
||||||
android:order="50"/>
|
android:order="50"
|
||||||
|
settings:controller="com.android.settings.inputmethod.TrackpadSwitchAppsPreferenceController"/>
|
||||||
|
|
||||||
<com.android.settingslib.widget.ButtonPreference
|
<com.android.settingslib.widget.ButtonPreference
|
||||||
android:key="trackpad_touch_gesture_developer_mode"
|
android:key="trackpad_touch_gesture_developer_mode"
|
||||||
android:title="@string/trackpad_touch_gesture"
|
android:title="@string/trackpad_touch_gesture"
|
||||||
android:icon="@drawable/ic_trackpad_touch_gestures_inverse"
|
android:icon="@drawable/ic_trackpad_touch_gestures_inverse"
|
||||||
|
android:order="100"
|
||||||
settings:controller="com.android.settings.inputmethod.TouchGesturesButtonPreferenceController"/>
|
settings:controller="com.android.settings.inputmethod.TouchGesturesButtonPreferenceController"/>
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
@@ -32,6 +32,7 @@
|
|||||||
android:key="trackpad_tap_to_click"
|
android:key="trackpad_tap_to_click"
|
||||||
android:title="@string/trackpad_tap_to_click"
|
android:title="@string/trackpad_tap_to_click"
|
||||||
android:icon="@drawable/ic_trackpad_tap_to_click"
|
android:icon="@drawable/ic_trackpad_tap_to_click"
|
||||||
|
settings:controller="com.android.settings.inputmethod.TrackpadTapToClickPreferenceController"
|
||||||
android:order="10"/>
|
android:order="10"/>
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
@@ -39,6 +40,7 @@
|
|||||||
android:title="@string/trackpad_reverse_scrolling_title"
|
android:title="@string/trackpad_reverse_scrolling_title"
|
||||||
android:summary="@string/trackpad_reverse_scrolling_summary"
|
android:summary="@string/trackpad_reverse_scrolling_summary"
|
||||||
android:icon="@drawable/ic_trackpad_reverse_scrolling"
|
android:icon="@drawable/ic_trackpad_reverse_scrolling"
|
||||||
|
settings:controller="com.android.settings.inputmethod.TrackpadReverseScrollingPreferenceController"
|
||||||
android:order="20"/>
|
android:order="20"/>
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
@@ -46,6 +48,7 @@
|
|||||||
android:title="@string/trackpad_bottom_right_tap_title"
|
android:title="@string/trackpad_bottom_right_tap_title"
|
||||||
android:summary="@string/trackpad_bottom_right_tap_summary"
|
android:summary="@string/trackpad_bottom_right_tap_summary"
|
||||||
android:icon="@drawable/ic_trackpad_reverse_scrolling"
|
android:icon="@drawable/ic_trackpad_reverse_scrolling"
|
||||||
|
settings:controller="com.android.settings.inputmethod.TrackpadBottomPreferenceController"
|
||||||
android:order="30"/>
|
android:order="30"/>
|
||||||
|
|
||||||
<com.android.settings.widget.SeekBarPreference
|
<com.android.settings.widget.SeekBarPreference
|
||||||
@@ -54,9 +57,7 @@
|
|||||||
android:icon="@drawable/ic_trackpad_pointer_speed"
|
android:icon="@drawable/ic_trackpad_pointer_speed"
|
||||||
android:order="40"
|
android:order="40"
|
||||||
android:selectable="false"
|
android:selectable="false"
|
||||||
android:max="100"
|
settings:controller="com.android.settings.inputmethod.TrackpadPointerSpeedPreferenceController"/>
|
||||||
android:min="0"
|
|
||||||
android:defaultValue="50"/>
|
|
||||||
|
|
||||||
<com.android.settingslib.widget.ButtonPreference
|
<com.android.settingslib.widget.ButtonPreference
|
||||||
android:key="trackpad_touch_gesture"
|
android:key="trackpad_touch_gesture"
|
||||||
|
@@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.hardware.input.InputManager;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
|
public class TrackpadBottomPreferenceController extends TogglePreferenceController {
|
||||||
|
|
||||||
|
private InputManager mIm;
|
||||||
|
|
||||||
|
public TrackpadBottomPreferenceController(Context context, String key) {
|
||||||
|
super(context, key);
|
||||||
|
|
||||||
|
mIm = context.getSystemService(InputManager.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isChecked() {
|
||||||
|
return mIm.useTouchpadRightClickZone(mContext);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setChecked(boolean isChecked) {
|
||||||
|
mIm.setTouchpadRightClickZone(mContext, isChecked);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAvailabilityStatus() {
|
||||||
|
return AVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSliceHighlightMenuRes() {
|
||||||
|
return R.string.menu_key_system;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
|
public class TrackpadGoBackPreferenceController extends TogglePreferenceController {
|
||||||
|
|
||||||
|
private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_BACK_ENABLED;
|
||||||
|
|
||||||
|
public TrackpadGoBackPreferenceController(Context context, String key) {
|
||||||
|
super(context, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isChecked() {
|
||||||
|
return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setChecked(boolean isChecked) {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAvailabilityStatus() {
|
||||||
|
return AVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSliceHighlightMenuRes() {
|
||||||
|
return R.string.menu_key_system;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
|
public class TrackpadGoHomePreferenceController extends TogglePreferenceController {
|
||||||
|
|
||||||
|
private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_HOME_ENABLED;
|
||||||
|
|
||||||
|
public TrackpadGoHomePreferenceController(Context context, String key) {
|
||||||
|
super(context, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isChecked() {
|
||||||
|
return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setChecked(boolean isChecked) {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAvailabilityStatus() {
|
||||||
|
return AVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSliceHighlightMenuRes() {
|
||||||
|
return R.string.menu_key_system;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
|
public class TrackpadNotificationsPreferenceController extends TogglePreferenceController {
|
||||||
|
|
||||||
|
private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_NOTIFICATION_ENABLED;
|
||||||
|
|
||||||
|
public TrackpadNotificationsPreferenceController(Context context, String key) {
|
||||||
|
super(context, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isChecked() {
|
||||||
|
return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setChecked(boolean isChecked) {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAvailabilityStatus() {
|
||||||
|
return AVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSliceHighlightMenuRes() {
|
||||||
|
return R.string.menu_key_system;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,76 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.hardware.input.InputManager;
|
||||||
|
|
||||||
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.settings.core.SliderPreferenceController;
|
||||||
|
import com.android.settings.widget.SeekBarPreference;
|
||||||
|
|
||||||
|
public class TrackpadPointerSpeedPreferenceController extends SliderPreferenceController {
|
||||||
|
|
||||||
|
private InputManager mIm;
|
||||||
|
private SeekBarPreference mPreference;
|
||||||
|
|
||||||
|
public TrackpadPointerSpeedPreferenceController(Context context, String key) {
|
||||||
|
super(context, key);
|
||||||
|
|
||||||
|
mIm = context.getSystemService(InputManager.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
|
super.displayPreference(screen);
|
||||||
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
|
mPreference.setMax(getMax());
|
||||||
|
mPreference.setMin(getMin());
|
||||||
|
mPreference.setProgress(getSliderPosition());
|
||||||
|
updateState(mPreference);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAvailabilityStatus() {
|
||||||
|
return AVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setSliderPosition(int position) {
|
||||||
|
if (position < getMin() || position > getMax()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
mIm.setTouchpadPointerSpeed(mContext, position);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSliderPosition() {
|
||||||
|
return mIm.getTouchpadPointerSpeed(mContext);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMin() {
|
||||||
|
return InputManager.MIN_POINTER_SPEED;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMax() {
|
||||||
|
return InputManager.MAX_POINTER_SPEED;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
|
public class TrackpadRecentAppsPreferenceController extends TogglePreferenceController {
|
||||||
|
|
||||||
|
private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_OVERVIEW_ENABLED;
|
||||||
|
|
||||||
|
public TrackpadRecentAppsPreferenceController(Context context, String key) {
|
||||||
|
super(context, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isChecked() {
|
||||||
|
return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setChecked(boolean isChecked) {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAvailabilityStatus() {
|
||||||
|
return AVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSliceHighlightMenuRes() {
|
||||||
|
return R.string.menu_key_system;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.hardware.input.InputManager;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
|
public class TrackpadReverseScrollingPreferenceController extends TogglePreferenceController {
|
||||||
|
|
||||||
|
private InputManager mIm;
|
||||||
|
|
||||||
|
public TrackpadReverseScrollingPreferenceController(Context context, String key) {
|
||||||
|
super(context, key);
|
||||||
|
|
||||||
|
mIm = context.getSystemService(InputManager.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isChecked() {
|
||||||
|
return mIm.useTouchpadNaturalScrolling(mContext);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setChecked(boolean isChecked) {
|
||||||
|
mIm.setTouchpadNaturalScrolling(mContext, isChecked);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAvailabilityStatus() {
|
||||||
|
return AVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSliceHighlightMenuRes() {
|
||||||
|
return R.string.menu_key_system;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
|
public class TrackpadSwitchAppsPreferenceController extends TogglePreferenceController {
|
||||||
|
|
||||||
|
private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_QUICK_SWITCH_ENABLED;
|
||||||
|
|
||||||
|
public TrackpadSwitchAppsPreferenceController(Context context, String key) {
|
||||||
|
super(context, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isChecked() {
|
||||||
|
return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setChecked(boolean isChecked) {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAvailabilityStatus() {
|
||||||
|
return AVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSliceHighlightMenuRes() {
|
||||||
|
return R.string.menu_key_system;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.hardware.input.InputManager;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
|
public class TrackpadTapToClickPreferenceController extends TogglePreferenceController {
|
||||||
|
|
||||||
|
private InputManager mIm;
|
||||||
|
|
||||||
|
public TrackpadTapToClickPreferenceController(Context context, String key) {
|
||||||
|
super(context, key);
|
||||||
|
|
||||||
|
mIm = context.getSystemService(InputManager.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isChecked() {
|
||||||
|
return mIm.useTouchpadTapToClick(mContext);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setChecked(boolean isChecked) {
|
||||||
|
mIm.setTouchpadTapToClick(mContext, isChecked);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAvailabilityStatus() {
|
||||||
|
return AVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSliceHighlightMenuRes() {
|
||||||
|
return R.string.menu_key_system;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
|
||||||
|
/** Tests for {@link TrackpadGoBackPreferenceController} */
|
||||||
|
@RunWith(RobolectricTestRunner.class)
|
||||||
|
public class TrackpadGoBackPreferenceControllerTest {
|
||||||
|
|
||||||
|
private static final String PREFERENCE_KEY = "gesture_go_back";
|
||||||
|
private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_BACK_ENABLED;
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private TrackpadGoBackPreferenceController mController;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
mContext = ApplicationProvider.getApplicationContext();
|
||||||
|
mController = new TrackpadGoBackPreferenceController(mContext, PREFERENCE_KEY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailabilityStatus_expected() {
|
||||||
|
assertThat(mController.getAvailabilityStatus())
|
||||||
|
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSliceHighlightMenuRes_expected() {
|
||||||
|
assertThat(mController.getSliceHighlightMenuRes()).isEqualTo(R.string.menu_key_system);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_true_shouldReturn1() {
|
||||||
|
mController.setChecked(true);
|
||||||
|
|
||||||
|
int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_false_shouldReturn0() {
|
||||||
|
mController.setChecked(false);
|
||||||
|
|
||||||
|
int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isChecked_providerPutInt1_returnTrue() {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
boolean result = mController.isChecked();
|
||||||
|
|
||||||
|
assertThat(result).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isChecked_providerPutInt0_returnFalse() {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, 0);
|
||||||
|
|
||||||
|
boolean result = mController.isChecked();
|
||||||
|
|
||||||
|
assertThat(result).isFalse();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
|
||||||
|
/** Tests for {@link TrackpadGoHomePreferenceController} */
|
||||||
|
@RunWith(RobolectricTestRunner.class)
|
||||||
|
public class TrackpadGoHomePreferenceControllerTest {
|
||||||
|
|
||||||
|
private static final String PREFERENCE_KEY = "gesture_go_home";
|
||||||
|
private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_HOME_ENABLED;
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private TrackpadGoHomePreferenceController mController;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
mContext = ApplicationProvider.getApplicationContext();
|
||||||
|
mController = new TrackpadGoHomePreferenceController(mContext, PREFERENCE_KEY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailabilityStatus_expected() {
|
||||||
|
assertThat(mController.getAvailabilityStatus())
|
||||||
|
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSliceHighlightMenuRes_expected() {
|
||||||
|
assertThat(mController.getSliceHighlightMenuRes()).isEqualTo(R.string.menu_key_system);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_true_shouldReturn1() {
|
||||||
|
mController.setChecked(true);
|
||||||
|
|
||||||
|
int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_false_shouldReturn0() {
|
||||||
|
mController.setChecked(false);
|
||||||
|
|
||||||
|
int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isChecked_providerPutInt1_returnTrue() {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
boolean result = mController.isChecked();
|
||||||
|
|
||||||
|
assertThat(result).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isChecked_providerPutInt0_returnFalse() {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, 0);
|
||||||
|
|
||||||
|
boolean result = mController.isChecked();
|
||||||
|
|
||||||
|
assertThat(result).isFalse();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
|
||||||
|
/** Tests for {@link TrackpadNotificationsPreferenceController} */
|
||||||
|
@RunWith(RobolectricTestRunner.class)
|
||||||
|
public class TrackpadNotificationsPreferenceControllerTest {
|
||||||
|
|
||||||
|
private static final String PREFERENCE_KEY = "gesture_notifications";
|
||||||
|
private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_NOTIFICATION_ENABLED;
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private TrackpadNotificationsPreferenceController mController;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
mContext = ApplicationProvider.getApplicationContext();
|
||||||
|
mController = new TrackpadNotificationsPreferenceController(mContext, PREFERENCE_KEY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailabilityStatus_expected() {
|
||||||
|
assertThat(mController.getAvailabilityStatus())
|
||||||
|
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSliceHighlightMenuRes_expected() {
|
||||||
|
assertThat(mController.getSliceHighlightMenuRes()).isEqualTo(R.string.menu_key_system);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_true_shouldReturn1() {
|
||||||
|
mController.setChecked(true);
|
||||||
|
|
||||||
|
int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_false_shouldReturn0() {
|
||||||
|
mController.setChecked(false);
|
||||||
|
|
||||||
|
int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isChecked_providerPutInt1_returnTrue() {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
boolean result = mController.isChecked();
|
||||||
|
|
||||||
|
assertThat(result).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isChecked_providerPutInt0_returnFalse() {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, 0);
|
||||||
|
|
||||||
|
boolean result = mController.isChecked();
|
||||||
|
|
||||||
|
assertThat(result).isFalse();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
|
||||||
|
/** Tests for {@link TrackpadRecentAppsPreferenceController} */
|
||||||
|
@RunWith(RobolectricTestRunner.class)
|
||||||
|
public class TrackpadRecentAppsPreferenceControllerTest {
|
||||||
|
|
||||||
|
private static final String PREFERENCE_KEY = "gesture_recent_apps";
|
||||||
|
private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_OVERVIEW_ENABLED;
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private TrackpadRecentAppsPreferenceController mController;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
mContext = ApplicationProvider.getApplicationContext();
|
||||||
|
mController = new TrackpadRecentAppsPreferenceController(mContext, PREFERENCE_KEY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailabilityStatus_expected() {
|
||||||
|
assertThat(mController.getAvailabilityStatus())
|
||||||
|
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSliceHighlightMenuRes_expected() {
|
||||||
|
assertThat(mController.getSliceHighlightMenuRes()).isEqualTo(R.string.menu_key_system);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_true_shouldReturn1() {
|
||||||
|
mController.setChecked(true);
|
||||||
|
|
||||||
|
int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_false_shouldReturn0() {
|
||||||
|
mController.setChecked(false);
|
||||||
|
|
||||||
|
int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isChecked_providerPutInt1_returnTrue() {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
boolean result = mController.isChecked();
|
||||||
|
|
||||||
|
assertThat(result).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isChecked_providerPutInt0_returnFalse() {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, 0);
|
||||||
|
|
||||||
|
boolean result = mController.isChecked();
|
||||||
|
|
||||||
|
assertThat(result).isFalse();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
|
||||||
|
/** Tests for {@link TrackpadSwitchAppsPreferenceController} */
|
||||||
|
@RunWith(RobolectricTestRunner.class)
|
||||||
|
public class TrackpadSwitchAppsPreferenceControllerTest {
|
||||||
|
|
||||||
|
private static final String PREFERENCE_KEY = "gesture_switch_apps";
|
||||||
|
private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_QUICK_SWITCH_ENABLED;
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private TrackpadSwitchAppsPreferenceController mController;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
mContext = ApplicationProvider.getApplicationContext();
|
||||||
|
mController = new TrackpadSwitchAppsPreferenceController(mContext, PREFERENCE_KEY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailabilityStatus_expected() {
|
||||||
|
assertThat(mController.getAvailabilityStatus())
|
||||||
|
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSliceHighlightMenuRes_expected() {
|
||||||
|
assertThat(mController.getSliceHighlightMenuRes()).isEqualTo(R.string.menu_key_system);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_true_shouldReturn1() {
|
||||||
|
mController.setChecked(true);
|
||||||
|
|
||||||
|
int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_false_shouldReturn0() {
|
||||||
|
mController.setChecked(false);
|
||||||
|
|
||||||
|
int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isChecked_providerPutInt1_returnTrue() {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, 1);
|
||||||
|
|
||||||
|
boolean result = mController.isChecked();
|
||||||
|
|
||||||
|
assertThat(result).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isChecked_providerPutInt0_returnFalse() {
|
||||||
|
Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, 0);
|
||||||
|
|
||||||
|
boolean result = mController.isChecked();
|
||||||
|
|
||||||
|
assertThat(result).isFalse();
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user