[Mainline] Use @SystemApi constants in SmsManager instead of in SmsUsageMonitor

Bug: 146808981
Test: make RunSettingsRoboTests ROBOTEST_FILTER=PremiumSmsAccessTest
Change-Id: I7dd74a390e9a69ad71d83a0db07bef979fab7f1d
This commit is contained in:
changbetty
2020-01-16 11:27:22 +08:00
parent 5fae0c617c
commit 64b8981502
3 changed files with 19 additions and 20 deletions

View File

@@ -16,7 +16,6 @@ package com.android.settings.applications;
import android.content.Context;
import android.telephony.SmsManager;
import com.android.internal.telephony.SmsUsageMonitor;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
import com.android.settingslib.applications.ApplicationsState.AppFilter;
@@ -70,7 +69,7 @@ public class AppStateSmsPremBridge extends AppStateBaseBridge {
public int smsState;
public boolean isGranted() {
return smsState == SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ALWAYS_ALLOW;
return smsState == SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW;
}
}
@@ -82,7 +81,7 @@ public class AppStateSmsPremBridge extends AppStateBaseBridge {
@Override
public boolean filterApp(AppEntry info) {
return info.extraInfo instanceof SmsState && ((SmsState) info.extraInfo).smsState
!= SmsUsageMonitor.PREMIUM_SMS_PERMISSION_UNKNOWN;
!= SmsManager.PREMIUM_SMS_CONSENT_UNKNOWN;
}
};
}

View File

@@ -21,6 +21,7 @@ import android.app.Application;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import androidx.annotation.VisibleForTesting;
@@ -30,7 +31,6 @@ import androidx.preference.Preference.OnPreferenceChangeListener;
import androidx.preference.PreferenceScreen;
import androidx.preference.PreferenceViewHolder;
import com.android.internal.telephony.SmsUsageMonitor;
import com.android.settings.R;
import com.android.settings.applications.AppStateBaseBridge.Callback;
import com.android.settings.applications.AppStateSmsPremBridge;
@@ -110,20 +110,20 @@ public class PremiumSmsAccess extends EmptyTextSettings
@VisibleForTesting
void logSpecialPermissionChange(int smsState, String packageName) {
int category = SmsUsageMonitor.PREMIUM_SMS_PERMISSION_UNKNOWN;
int category = SmsManager.PREMIUM_SMS_CONSENT_UNKNOWN;
switch (smsState) {
case SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ASK_USER:
case SmsManager.PREMIUM_SMS_CONSENT_ASK_USER:
category = SettingsEnums.APP_SPECIAL_PERMISSION_PREMIUM_SMS_ASK;
break;
case SmsUsageMonitor.PREMIUM_SMS_PERMISSION_NEVER_ALLOW:
case SmsManager.PREMIUM_SMS_CONSENT_NEVER_ALLOW:
category = SettingsEnums.APP_SPECIAL_PERMISSION_PREMIUM_SMS_DENY;
break;
case SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ALWAYS_ALLOW:
case SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW:
category = SettingsEnums.
APP_SPECIAL_PERMISSION_PREMIUM_SMS_ALWAYS_ALLOW;
break;
}
if (category != SmsUsageMonitor.PREMIUM_SMS_PERMISSION_UNKNOWN) {
if (category != SmsManager.PREMIUM_SMS_CONSENT_UNKNOWN) {
// TODO(117860032): Category is wrong. It should be defined in SettingsEnums.
final MetricsFeatureProvider metricsFeatureProvider =
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
@@ -220,9 +220,9 @@ public class PremiumSmsAccess extends EmptyTextSettings
}
setEntries(R.array.security_settings_premium_sms_values);
setEntryValues(new CharSequence[]{
String.valueOf(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ASK_USER),
String.valueOf(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_NEVER_ALLOW),
String.valueOf(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ALWAYS_ALLOW),
String.valueOf(SmsManager.PREMIUM_SMS_CONSENT_ASK_USER),
String.valueOf(SmsManager.PREMIUM_SMS_CONSENT_NEVER_ALLOW),
String.valueOf(SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW),
});
setValue(String.valueOf(getCurrentValue()));
setSummary("%s");
@@ -231,7 +231,7 @@ public class PremiumSmsAccess extends EmptyTextSettings
private int getCurrentValue() {
return mAppEntry.extraInfo instanceof SmsState
? ((SmsState) mAppEntry.extraInfo).smsState
: SmsUsageMonitor.PREMIUM_SMS_PERMISSION_UNKNOWN;
: SmsManager.PREMIUM_SMS_CONSENT_UNKNOWN;
}
@Override

View File

@@ -19,9 +19,9 @@ package com.android.settings.applications.specialaccess.premiumsms;
import static org.mockito.Mockito.verify;
import android.app.settings.SettingsEnums;
import android.telephony.SmsManager;
import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.telephony.SmsUsageMonitor;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
@@ -47,31 +47,31 @@ public class PremiumSmsAccessTest {
@Test
public void logSpecialPermissionChange() {
mFragment.logSpecialPermissionChange(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ASK_USER,
mFragment.logSpecialPermissionChange(SmsManager.PREMIUM_SMS_CONSENT_ASK_USER,
"app");
verify(mFeatureFactory.metricsFeatureProvider).action(
SettingsEnums.PAGE_UNKNOWN,
MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_PREMIUM_SMS_ASK,
mFragment.getMetricsCategory(),
"app",
SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ASK_USER);
SmsManager.PREMIUM_SMS_CONSENT_ASK_USER);
mFragment.logSpecialPermissionChange(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_NEVER_ALLOW,
mFragment.logSpecialPermissionChange(SmsManager.PREMIUM_SMS_CONSENT_NEVER_ALLOW,
"app");
verify(mFeatureFactory.metricsFeatureProvider).action(
SettingsEnums.PAGE_UNKNOWN,
MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_PREMIUM_SMS_DENY,
mFragment.getMetricsCategory(),
"app",
SmsUsageMonitor.PREMIUM_SMS_PERMISSION_NEVER_ALLOW);
SmsManager.PREMIUM_SMS_CONSENT_NEVER_ALLOW);
mFragment.logSpecialPermissionChange(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ALWAYS_ALLOW,
mFragment.logSpecialPermissionChange(SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW,
"app");
verify(mFeatureFactory.metricsFeatureProvider).action(
SettingsEnums.PAGE_UNKNOWN,
MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_PREMIUM_SMS_ALWAYS_ALLOW,
mFragment.getMetricsCategory(),
"app",
SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ALWAYS_ALLOW);
SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW);
}
}