Loading apishim/30/com/android/networkstack/apishim/api30/SettingsShimImpl.java 0 → 100644 +50 −0 Original line number Diff line number Diff line /* * Copyright (C) 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.networkstack.apishim.api30; import android.content.Context; import android.provider.Settings; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.networkstack.apishim.common.SettingsShim; /** * Implementation of {@link SettingsShim} for API 30. */ public class SettingsShimImpl implements SettingsShim { protected SettingsShimImpl() { } /** * Get a new instance of {@link SettingsShim}. * * Use com.android.networkstack.apishim.SeetingsShim#newInstance() * (non-API30 version) instead, to use the correct shims depending on build SDK. */ public static SettingsShim newInstance() { return new SettingsShimImpl(); } @Override public boolean checkAndNoteWriteSettingsOperation(@NonNull Context context, int uid, @NonNull String callingPackage, @Nullable String callingAttributionTag, boolean throwException) { return Settings.checkAndNoteWriteSettingsOperation(context, uid, callingPackage, throwException); } } apishim/31/com/android/networkstack/apishim/SettingsShimImpl.java 0 → 100644 +56 −0 Original line number Diff line number Diff line /* * Copyright (C) 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.networkstack.apishim; import android.content.Context; import android.os.Build; import android.provider.Settings; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.networkstack.apishim.common.SettingsShim; import com.android.networkstack.apishim.common.ShimUtils; /** * Implementation of {@link SettingsShim} for API 31. */ public class SettingsShimImpl extends com.android.networkstack.apishim.api30.SettingsShimImpl { protected SettingsShimImpl() { } /** * Get a new instance of {@link SettingsShim}. */ public static SettingsShim newInstance() { if (!ShimUtils.isReleaseOrDevelopmentApiAbove(Build.VERSION_CODES.R)) { return com.android.networkstack.apishim.api30.SettingsShimImpl .newInstance(); } return new SettingsShimImpl(); } @Override public boolean checkAndNoteWriteSettingsOperation(@NonNull Context context, int uid, @NonNull String callingPackage, @Nullable String callingAttributionTag, boolean throwException) { // Since checkAndNoteWriteSettingsOperation with callingAttributionTag (S method) is not // available in AOSP, calling R method (same as API 30 shim) temporary. return Settings.checkAndNoteWriteSettingsOperation(context, uid, callingPackage, throwException); } } apishim/common/com/android/networkstack/apishim/common/SettingsShim.java 0 → 100644 +35 −0 Original line number Diff line number Diff line /* * Copyright (C) 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.networkstack.apishim.common; import android.content.Context; import androidx.annotation.NonNull; import androidx.annotation.Nullable; /** * Interce for accessing API methods in {@link android.provider.Settings} by different API level. */ public interface SettingsShim { /** * @see android.provider.Settings#checkAndNoteWriteSettingsOperation(Context, int, String, * String, boolean) */ boolean checkAndNoteWriteSettingsOperation(@NonNull Context context, int uid, @NonNull String callingPackage, @Nullable String callingAttributionTag, boolean throwException); } Loading
apishim/30/com/android/networkstack/apishim/api30/SettingsShimImpl.java 0 → 100644 +50 −0 Original line number Diff line number Diff line /* * Copyright (C) 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.networkstack.apishim.api30; import android.content.Context; import android.provider.Settings; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.networkstack.apishim.common.SettingsShim; /** * Implementation of {@link SettingsShim} for API 30. */ public class SettingsShimImpl implements SettingsShim { protected SettingsShimImpl() { } /** * Get a new instance of {@link SettingsShim}. * * Use com.android.networkstack.apishim.SeetingsShim#newInstance() * (non-API30 version) instead, to use the correct shims depending on build SDK. */ public static SettingsShim newInstance() { return new SettingsShimImpl(); } @Override public boolean checkAndNoteWriteSettingsOperation(@NonNull Context context, int uid, @NonNull String callingPackage, @Nullable String callingAttributionTag, boolean throwException) { return Settings.checkAndNoteWriteSettingsOperation(context, uid, callingPackage, throwException); } }
apishim/31/com/android/networkstack/apishim/SettingsShimImpl.java 0 → 100644 +56 −0 Original line number Diff line number Diff line /* * Copyright (C) 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.networkstack.apishim; import android.content.Context; import android.os.Build; import android.provider.Settings; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.networkstack.apishim.common.SettingsShim; import com.android.networkstack.apishim.common.ShimUtils; /** * Implementation of {@link SettingsShim} for API 31. */ public class SettingsShimImpl extends com.android.networkstack.apishim.api30.SettingsShimImpl { protected SettingsShimImpl() { } /** * Get a new instance of {@link SettingsShim}. */ public static SettingsShim newInstance() { if (!ShimUtils.isReleaseOrDevelopmentApiAbove(Build.VERSION_CODES.R)) { return com.android.networkstack.apishim.api30.SettingsShimImpl .newInstance(); } return new SettingsShimImpl(); } @Override public boolean checkAndNoteWriteSettingsOperation(@NonNull Context context, int uid, @NonNull String callingPackage, @Nullable String callingAttributionTag, boolean throwException) { // Since checkAndNoteWriteSettingsOperation with callingAttributionTag (S method) is not // available in AOSP, calling R method (same as API 30 shim) temporary. return Settings.checkAndNoteWriteSettingsOperation(context, uid, callingPackage, throwException); } }
apishim/common/com/android/networkstack/apishim/common/SettingsShim.java 0 → 100644 +35 −0 Original line number Diff line number Diff line /* * Copyright (C) 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.networkstack.apishim.common; import android.content.Context; import androidx.annotation.NonNull; import androidx.annotation.Nullable; /** * Interce for accessing API methods in {@link android.provider.Settings} by different API level. */ public interface SettingsShim { /** * @see android.provider.Settings#checkAndNoteWriteSettingsOperation(Context, int, String, * String, boolean) */ boolean checkAndNoteWriteSettingsOperation(@NonNull Context context, int uid, @NonNull String callingPackage, @Nullable String callingAttributionTag, boolean throwException); }