Don't allow secondary users to change Wi-Fi assistants.

This is not ideal but better than the current situation given that the
rest of the connectivity stack does not properly support multi-user.

Bug: 17320659
Change-Id: Ia0d4c746b4ebe6ce90df7ff39f0398ca78fd61f6
This commit is contained in:
Jeff Davidson
2014-11-07 12:39:13 -08:00
parent 99f191f585
commit 739ae972d0
2 changed files with 8 additions and 2 deletions

View File

@@ -23,6 +23,7 @@ import android.net.NetworkScoreManager;
import android.net.NetworkScorerAppManager; import android.net.NetworkScorerAppManager;
import android.net.NetworkScorerAppManager.NetworkScorerAppData; import android.net.NetworkScorerAppManager.NetworkScorerAppData;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserHandle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
@@ -69,6 +70,10 @@ public final class ActiveNetworkScorerDialog extends AlertActivity implements
} }
private boolean buildDialog() { private boolean buildDialog() {
if (UserHandle.myUserId() != UserHandle.USER_OWNER) {
Log.i(TAG, "Can only set scorer for owner user.");
return false;
}
NetworkScorerAppData newScorer = NetworkScorerAppManager.getScorer(this, mNewPackageName); NetworkScorerAppData newScorer = NetworkScorerAppManager.getScorer(this, mNewPackageName);
if (newScorer == null) { if (newScorer == null) {
Log.e(TAG, "New package " + mNewPackageName + " is not a valid scorer."); Log.e(TAG, "New package " + mNewPackageName + " is not a valid scorer.");

View File

@@ -29,6 +29,7 @@ import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.net.wifi.WpsInfo; import android.net.wifi.WpsInfo;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserHandle;
import android.preference.ListPreference; import android.preference.ListPreference;
import android.preference.Preference; import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener; import android.preference.Preference.OnPreferenceClickListener;
@@ -129,9 +130,9 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment
pref.setIntent(intent); pref.setIntent(intent);
final Context context = getActivity(); final Context context = getActivity();
NetworkScorerAppData scorer = getWifiAssistantApp(context);
SwitchPreference wifiAssistant = (SwitchPreference)findPreference(KEY_WIFI_ASSISTANT); SwitchPreference wifiAssistant = (SwitchPreference)findPreference(KEY_WIFI_ASSISTANT);
if (scorer != null) { NetworkScorerAppData scorer = getWifiAssistantApp(context);
if (UserHandle.myUserId() == UserHandle.USER_OWNER && scorer != null) {
final boolean checked = NetworkScorerAppManager.getActiveScorer(context) != null; final boolean checked = NetworkScorerAppManager.getActiveScorer(context) != null;
wifiAssistant.setSummary(getResources().getString( wifiAssistant.setSummary(getResources().getString(
R.string.wifi_automatically_manage_summary, scorer.mScorerName)); R.string.wifi_automatically_manage_summary, scorer.mScorerName));