Restrict DataUsageSummary for guest user

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

Bug: 262243574
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageSummaryTest

Change-Id: I94d0fd18a81dc0f0adba544340e648d58c5d3358
This commit is contained in:
Weng Su
2023-03-29 18:11:05 +08:00
parent 9850976bf3
commit 3abf4d9d5f
2 changed files with 57 additions and 7 deletions

View File

@@ -19,6 +19,7 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.net.NetworkTemplate;
import android.os.Bundle;
import android.os.UserManager;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.text.BidiFormatter;
@@ -27,6 +28,8 @@ import android.text.SpannableString;
import android.text.TextUtils;
import android.text.format.Formatter;
import android.text.style.RelativeSizeSpan;
import android.util.EventLog;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
@@ -83,6 +86,12 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Context context = getContext();
if (isGuestUser(context)) {
Log.e(TAG, "This setting isn't available due to user restriction.");
EventLog.writeEvent(0x534e4554, "262243574", -1 /* UID */, "Guest user");
finish();
return;
}
if (!isSimHardwareVisible(context)) {
finish();
@@ -282,4 +291,11 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
updateState();
mSummaryController.updateState(mSummaryPreference);
}
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();
}
}