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();
|
|
}
|
|
}
|