Add fragment in xml instead of using injected way
- It can improve performance because we use less injected item - Also remove summary provider from those fragments Bug: 141653158 Test: robolectric Change-Id: I6255f71b3b8300aea064a4fefd6711c1ff59e08a
This commit is contained in:
@@ -18,21 +18,13 @@ package com.android.settings.language;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.ComponentName;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.view.inputmethod.InputMethodInfo;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.inputmethod.PhysicalKeyboardPreferenceController;
|
||||
import com.android.settings.inputmethod.SpellCheckerPreferenceController;
|
||||
import com.android.settings.inputmethod.VirtualKeyboardPreferenceController;
|
||||
@@ -122,44 +114,6 @@ public class LanguageAndInputSettings extends DashboardFragment {
|
||||
return controllers;
|
||||
}
|
||||
|
||||
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
|
||||
|
||||
private final Context mContext;
|
||||
private final SummaryLoader mSummaryLoader;
|
||||
|
||||
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
|
||||
mContext = context;
|
||||
mSummaryLoader = summaryLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setListening(boolean listening) {
|
||||
final ContentResolver contentResolver = mContext.getContentResolver();
|
||||
if (listening) {
|
||||
final String flattenComponent = Settings.Secure.getString(
|
||||
contentResolver, Settings.Secure.DEFAULT_INPUT_METHOD);
|
||||
if (!TextUtils.isEmpty(flattenComponent)) {
|
||||
final PackageManager packageManage = mContext.getPackageManager();
|
||||
final String pkg = ComponentName.unflattenFromString(flattenComponent)
|
||||
.getPackageName();
|
||||
final InputMethodManager imm = (InputMethodManager)
|
||||
mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
final List<InputMethodInfo> imis = imm.getInputMethodList();
|
||||
for (InputMethodInfo imi : imis) {
|
||||
if (TextUtils.equals(imi.getPackageName(), pkg)) {
|
||||
mSummaryLoader.setSummary(this, imi.loadLabel(packageManage));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
mSummaryLoader.setSummary(this, "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
|
||||
= (activity, summaryLoader) -> new SummaryProvider(activity, summaryLoader);
|
||||
|
||||
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider(R.xml.language_and_input) {
|
||||
|
||||
|
Reference in New Issue
Block a user