Skip to content

Commit

Permalink
Only using AttributionSource for compile SDK 31 and above
Browse files Browse the repository at this point in the history
Signed-off-by: utzcoz <utzcoz@outlook.com>
  • Loading branch information
utzcoz committed Nov 24, 2021
1 parent 155ef89 commit 9d0fcf7
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 9 deletions.
2 changes: 1 addition & 1 deletion integration_tests/compat-target29/build.gradle
Expand Up @@ -13,7 +13,7 @@ dependencies {

testCompileOnly AndroidSdk.Q.coordinates
testRuntime AndroidSdk.Q.coordinates
testImplementation("androidx.test:core:$axtVersion")
testImplementation "androidx.test:core:$axtVersion"
testImplementation "junit:junit:$junitVersion"
testImplementation "com.google.truth:truth:$truthVersion"
}
Expand Up @@ -5,14 +5,22 @@ import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.Robolectric
import org.robolectric.RobolectricTestRunner

@RunWith(RobolectricTestRunner::class)
class Target29CompatibilityTest {
private val application = ApplicationProvider.getApplicationContext<Context>();

@Test
fun `Initialize LocationManager succeed`() {
val application = ApplicationProvider.getApplicationContext<Context>()
val locationManager = application.getSystemService(Context.LOCATION_SERVICE)
assertThat(locationManager).isNotNull()
}

@Test
fun `Initialize AppOpsManager succeed`() {
val appOpsManager = application.getSystemService(Context.APP_OPS_SERVICE);
assertThat(appOpsManager).isNotNull();
}
}
Expand Up @@ -30,8 +30,10 @@
import android.util.ArrayMap;
import android.util.LongSparseArray;
import android.util.LongSparseLongArray;
import androidx.annotation.RequiresApi;
import com.android.internal.app.IAppOpsService;
import com.google.auto.value.AutoValue;
import com.google.common.base.Preconditions;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Multimap;
Expand Down Expand Up @@ -394,17 +396,17 @@ protected int noteProxyOpNoThrow(
return checkOpNoThrow(op, proxiedUid, proxiedPackageName);
}

@RequiresApi(api = Build.VERSION_CODES.S)
@Implementation(minSdk = Build.VERSION_CODES.S)
protected int noteProxyOpNoThrow(
int op,
AttributionSource attributionSource,
String message,
boolean ignoredSkipProxyOperation) {
int op, Object attributionSource, String message, boolean ignoredSkipProxyOperation) {
Preconditions.checkArgument(attributionSource instanceof AttributionSource);
AttributionSource castedAttributionSource = (AttributionSource) attributionSource;
return noteProxyOpNoThrow(
op,
attributionSource.getNextPackageName(),
attributionSource.getNextUid(),
attributionSource.getNextAttributionTag(),
castedAttributionSource.getNextPackageName(),
castedAttributionSource.getNextUid(),
castedAttributionSource.getNextAttributionTag(),
message);
}

Expand Down

0 comments on commit 9d0fcf7

Please sign in to comment.