Restrict DataUsageList for guest user

- Don't show DataUsageList if the user is a guest

Bug: 262741858
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageListTest

Change-Id: Id877c2235c6a65683f2d0a0ba381dffba4dd95b8
This commit is contained in:
Weng Su
2023-03-29 21:37:14 +08:00
parent 9850976bf3
commit 6e79778d3c
2 changed files with 62 additions and 4 deletions

View File

@@ -37,6 +37,7 @@ import android.os.UserManager;
import android.provider.Settings;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.util.EventLog;
import android.util.Log;
import android.util.SparseArray;
import android.view.View;
@@ -131,8 +132,14 @@ public class DataUsageList extends DataUsageBaseFragment
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Activity activity = getActivity();
if (isGuestUser(getContext())) {
Log.e(TAG, "This setting isn't available for guest user");
EventLog.writeEvent(0x534e4554, "262741858", -1 /* UID */, "Guest user");
finish();
return;
}
final Activity activity = getActivity();
if (!isBandwidthControlEnabled()) {
Log.w(TAG, "No bandwidth control; leaving");
activity.finish();
@@ -234,9 +241,10 @@ public class DataUsageList extends DataUsageBaseFragment
@Override
public void onDestroy() {
mUidDetailProvider.clearCache();
mUidDetailProvider = null;
if (mUidDetailProvider != null) {
mUidDetailProvider.clearCache();
mUidDetailProvider = null;
}
super.onDestroy();
}
@@ -614,4 +622,11 @@ public class DataUsageList extends DataUsageBaseFragment
}
}
};
private static boolean isGuestUser(Context context) {
if (context == null) return false;
final UserManager userManager = context.getSystemService(UserManager.class);
if (userManager == null) return false;
return userManager.isGuestUser();
}
}