This CL adds "Work profile" section to Languages and input settings.
The new section is visible when and only when work profile is enabled.
Hence there should be no user-visible behavior difference when work
profile is not enabled.
If per-profile IME [1] is also enabled, the following 3 preferences
will be shown in the new section.
* Virtual keyboard for work
* Spell checker for work
* Personal dictionary for work
[1]: Ied99664d3dc61b97c919b220c601f90b29761b96
a878b9500e6b89dce9738179edc27bcd0d736b7e
Fix: 120748696
Test: Manually verified as follows.
1. Build and flash an AOSP build
2. adb root
3. adb shell setprop persist.debug.per_profile_ime 1
4. adb reboot
5. Install Test DPC
6. Enable managed profile with Test DPC
7. tapas SoftKeyboard && make -j
8. adb install -r --user 0 $OUT/system/app/SoftKeyboard/SoftKeyboard.apk
9. tapas SampleSpellCheckerService && make -j
10. adb install -r --user 0 \
$OUT/system/app/SampleSpellCheckerService/SampleSpellCheckerService.apk
11. Open Settings -> System -> Languages & input
12. Virtual Keyboard -> Manage keyboards:
Make sure both "Android Keyboard" and "Sample Soft Keyboard" are shown.
13. Spell checker -> Default spell checker
Make sure "Android Spell Checker" and "Sample correction" are shown.
14. Advanced -> Virtual Keyboard for Work -> Manage keyboards
Make sure that only "Android Keyboard" is shown.
15. Advanced -> Spell checker -> Default spell checker
Make sure that only "Android Spell Checker" is shown.
Change-Id: Id88928318ab1cd92963d652ae39ca772222ea4ac
52 lines
1.7 KiB
Java
52 lines
1.7 KiB
Java
/*
|
|
* Copyright (C) 2019 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.app.settings.SettingsEnums;
|
|
import android.content.Context;
|
|
import android.view.inputmethod.InputMethodSystemProperty;
|
|
|
|
import com.android.settings.R;
|
|
import com.android.settings.core.WorkProfilePreferenceController;
|
|
|
|
/**
|
|
* Preference controller for "Spell checker for work".
|
|
*
|
|
* @see SpellCheckerPreferenceController
|
|
*/
|
|
public final class SpellCheckerForWorkPreferenceController extends WorkProfilePreferenceController {
|
|
|
|
public SpellCheckerForWorkPreferenceController(Context context, String preferenceKey) {
|
|
super(context, preferenceKey);
|
|
}
|
|
|
|
@Override
|
|
protected int getSourceMetricsCategory() {
|
|
return SettingsEnums.SETTINGS_LANGUAGE_CATEGORY;
|
|
}
|
|
|
|
@AvailabilityStatus
|
|
@Override
|
|
public int getAvailabilityStatus() {
|
|
if (!mContext.getResources().getBoolean(R.bool.config_show_spellcheckers_settings)
|
|
|| !InputMethodSystemProperty.PER_PROFILE_IME_ENABLED) {
|
|
return UNSUPPORTED_ON_DEVICE;
|
|
}
|
|
return super.getAvailabilityStatus();
|
|
}
|
|
}
|