Merge "Show current WebView package as selected in Dev Setting."

This commit is contained in:
TreeHugger Robot
2017-01-25 19:10:35 +00:00
committed by Android (Google) Code Review
3 changed files with 18 additions and 5 deletions

View File

@@ -16,8 +16,10 @@ package com.android.settings.webview;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.RemoteException;
import android.graphics.Color;
import android.support.annotation.VisibleForTesting;
import android.view.LayoutInflater;
import android.view.View;
@@ -36,6 +38,7 @@ import java.util.List;
*/
class WebViewAppListAdapter extends ArrayAdapter<WebViewApplicationInfo> {
private final LayoutInflater mInflater;
private final String mCurrentWebViewPackageName;
public WebViewAppListAdapter(Context context,
WebViewUpdateServiceWrapper webviewUpdateServiceWrapper) {
@@ -53,6 +56,10 @@ class WebViewAppListAdapter extends ArrayAdapter<WebViewApplicationInfo> {
packageInfoList.add(info);
}
addAll(packageInfoList);
PackageInfo currentWebViewPackage = webviewUpdateServiceWrapper.getCurrentWebViewPackage();
mCurrentWebViewPackageName =
currentWebViewPackage == null ? null : currentWebViewPackage.packageName;
}
@Override
@@ -80,6 +87,11 @@ class WebViewAppListAdapter extends ArrayAdapter<WebViewApplicationInfo> {
holder.disabled.setVisibility(View.GONE);
// Only allow a package to be chosen if it is enabled and installed for all users.
convertView.setEnabled(isEnabled(position));
if (info.info.packageName.equals(mCurrentWebViewPackageName)) {
convertView.setBackgroundColor(Color.GRAY);
} else {
convertView.setBackgroundColor(Color.WHITE);
}
return convertView;
}

View File

@@ -73,9 +73,10 @@ public class WebViewAppPreferenceController extends PreferenceController {
* Handle the return-value from the WebViewAppPicker Activity.
*/
public void onActivityResult(int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
updateState(null);
}
// Update the preference summary no matter whether we succeeded to change the webview
// implementation correctly - we might have changed implementation to one the user did not
// choose.
updateState(null);
}
private String getCurrentWebViewPackageLabel(Context context) {