Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 293513a5 authored by Bill Yi's avatar Bill Yi
Browse files

Merge commit '0b62467b' into HEAD

parents 1866e5dc 0b62467b
Loading
Loading
Loading
Loading
+36 −165
Original line number Diff line number Diff line
@@ -264,8 +264,9 @@ LOCAL_SRC_FILES += \
	telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl \
	telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl \
	telephony/java/com/android/internal/telephony/ITelephony.aidl \
	telephony/java/com/android/internal/telephony/ISms.aidl \
	telephony/java/com/android/internal/telephony/ITelephonyListener.aidl \
	telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl \
	telephony/java/com/android/internal/telephony/ISms.aidl \
	telephony/java/com/android/internal/telephony/IWapPushManager.aidl \
	wifi/java/android/net/wifi/IWifiManager.aidl \
	wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl \
@@ -542,8 +543,7 @@ framework_docs_LOCAL_ADDITIONAL_JAVA_DIR:= \
framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES := \
    frameworks/base/docs/knowntags.txt

sample_dir := development/samples/browseable
new_sample_dir := developers/samples/android
samples_dir := development/samples/browseable

# Whitelist of valid groups, used for default TOC grouping. Each sample must
# belong to one (and only one) group. Assign samples to groups by setting
@@ -553,166 +553,13 @@ sample_groups := -samplegroup Background \
                 -samplegroup Content \
                 -samplegroup Input \
                 -samplegroup Media \
                 -samplegroup RenderScript \
                 -samplegroup Security \
                 -samplegroup Sensors \
                 -samplegroup Testing \
                 -samplegroup UI \
                 -samplegroup Views

# the list here should match the list of samples included in the sdk samples package
# (see development/build/sdk.atree)
# remove htmlified samples for now -- samples are still available through the SDK
web_docs_sample_code_flags := \
		-hdf android.hasSamples 1 \
		-samplecode $(sample_dir)/BasicAccessibility \
 		            samples/BasicAccessibility "" \
		-samplecode $(sample_dir)/HorizontalPaging \
 		            samples/HorizontalPaging "" \
		-samplecode $(sample_dir)/ShareActionProvider \
 		            samples/ShareActionProvider "" \
		-samplecode $(sample_dir)/Styled \
 		            samples/Styled "" \
		-samplecode $(sample_dir)/BasicAndroidKeyStore \
 		            samples/BasicAndroidKeyStore "" \
		-samplecode $(sample_dir)/Basic \
 		            samples/Basic "" \
		-samplecode $(sample_dir)/ImmersiveMode \
 		            samples/ImmersiveMode "" \
		-samplecode $(sample_dir)/repeatingAlarm \
 		            samples/repeatingAlarm "" \
		-samplecode $(sample_dir)/TextLinkify \
 		            samples/TextLinkify "" \
		-samplecode $(sample_dir)/BasicMediaRouter \
 		            samples/BasicMediaRouter "" \
		-samplecode $(sample_dir)/BasicMultitouch \
 		            samples/BasicMultitouch "" \
		-samplecode $(sample_dir)/TextSwitcher \
 		            samples/TextSwitcher "" \
		-samplecode $(sample_dir)/ActivityInstrumentation \
 		            samples/ActivityInstrumentation "" \
		-samplecode $(sample_dir)/BorderlessButtons \
 		            samples/BorderlessButtons "" \
		-samplecode $(sample_dir)/BasicNotifications \
 		            samples/BasicNotifications "" \
		-samplecode $(sample_dir)/AdvancedImmersiveMode \
 		            samples/AdvancedImmersiveMode "" \
		-samplecode $(sample_dir)/BluetoothLeGatt \
 		            samples/BluetoothLeGatt "" \
		-samplecode $(sample_dir)/NetworkConnect \
 		            samples/NetworkConnect "" \
		-samplecode $(sample_dir)/BasicNetworking \
 		            samples/BasicNetworking "" \
		-samplecode $(sample_dir)/BasicMediaDecoder \
 		            samples/BasicMediaDecoder "" \
		-samplecode $(sample_dir)/BasicImmersiveMode \
 		            samples/BasicImmersiveMode "" \
		-samplecode $(sample_dir)/CustomChoiceList \
 		            samples/CustomChoiceList "" \
		-samplecode $(sample_dir)/BasicContactables \
 		            samples/BasicContactables "" \
		-samplecode $(sample_dir)/BasicGestureDetect \
 		            samples/BasicGestureDetect "" \
		-samplecode $(sample_dir)/DoneBar \
 		            samples/DoneBar "" \
		-samplecode $(sample_dir)/ListPopupMenu \
 		            samples/ListPopupMenu "" \
		-samplecode $(sample_dir)/AppRestrictions \
 		            samples/AppRestrictions "" \
		-samplecode $(sample_dir)/CustomNotifications \
 		            samples/CustomNotifications "" \
		-samplecode $(sample_dir)/BasicSyncAdapter \
 		            samples/BasicSyncAdapter "" \
		-samplecode $(sample_dir)/StorageClient \
 		            samples/StorageClient "" \
		-samplecode $(sample_dir)/StorageProvider \
 		            samples/StorageProvider ""
#       -samplecode $(sample_dir)/AndroidBeamDemo \
# 		            samples/AndroidBeamDemo "Android Beam Demo" \
# 		-samplecode $(sample_dir)/ApiDemos \
# 		            samples/ApiDemos "API Demos" \
# 		-samplecode $(sample_dir)/Support4Demos \
# 		            samples/Support4Demos "API 4+ Support Demos" \
# 		-samplecode $(sample_dir)/Support13Demos \
# 		            samples/Support13Demos "API 13+ Support Demos" \
# 		-samplecode $(sample_dir)/BackupRestore \
# 		            samples/BackupRestore "Backup and Restore" \
#		-samplecode $(sample_dir)/BluetoothChat \
# 		            samples/BluetoothChat "Bluetooth Chat" \
# 		-samplecode $(sample_dir)/BusinessCard \
# 		            samples/BusinessCard "Business Card" \
# 		-samplecode $(sample_dir)/ContactManager \
# 		            samples/ContactManager "Contact Manager" \
# 		-samplecode $(sample_dir)/CubeLiveWallpaper \
# 		            samples/CubeLiveWallpaper "Cube Live Wallpaper" \
# 		-samplecode $(sample_dir)/Home \
# 		            samples/Home "Home" \
# 		-samplecode $(sample_dir)/HoneycombGallery \
# 		            samples/HoneycombGallery "Honeycomb Gallery" \
# 		-samplecode $(sample_dir)/JetBoy \
# 		            samples/JetBoy "JetBoy" \
# 		-samplecode $(sample_dir)/KeyChainDemo \
# 		            samples/KeyChainDemo "KeyChain Demo" \
# 		-samplecode $(sample_dir)/LunarLander \
# 		            samples/LunarLander "Lunar Lander" \
# 		-samplecode $(sample_dir)/training/ads-and-ux \
# 		            samples/training/ads-and-ux "Mobile Advertisement Integration" \
# 		-samplecode $(sample_dir)/MultiResolution \
# 		            samples/MultiResolution "Multiple Resolutions" \
# 		-samplecode $(sample_dir)/training/multiscreen/newsreader \
# 		            samples/newsreader "News Reader" \
# 		-samplecode $(sample_dir)/NotePad \
# 		            samples/NotePad "Note Pad" \
# 		-samplecode $(sample_dir)/SpellChecker/SampleSpellCheckerService \
# 		            samples/SpellChecker/SampleSpellCheckerService "Spell Checker Service" \
# 		-samplecode $(sample_dir)/SpellChecker/HelloSpellChecker \
# 		            samples/SpellChecker/HelloSpellChecker "Spell Checker Client" \
# 		-samplecode $(sample_dir)/SampleSyncAdapter \
# 		            samples/SampleSyncAdapter "Sample Sync Adapter" \
# 		-samplecode $(sample_dir)/RandomMusicPlayer \
# 		            samples/RandomMusicPlayer "Random Music Player" \
# 		-samplecode $(sample_dir)/RenderScript \
# 		            samples/RenderScript "RenderScript" \
# 		-samplecode $(sample_dir)/SearchableDictionary \
# 		            samples/SearchableDictionary "Searchable Dictionary v2" \
# 		-samplecode $(sample_dir)/SipDemo \
# 		            samples/SipDemo "SIP Demo" \
# 		-samplecode $(sample_dir)/Snake \
# 		            samples/Snake "Snake" \
# 		-samplecode $(sample_dir)/SoftKeyboard \
# 		            samples/SoftKeyboard "Soft Keyboard" \
# 		-samplecode $(sample_dir)/Spinner  \
# 		            samples/Spinner "Spinner" \
# 		-samplecode $(sample_dir)/SpinnerTest \
# 		            samples/SpinnerTest "SpinnerTest" \
# 		-samplecode $(sample_dir)/StackWidget \
# 		            samples/StackWidget "StackView Widget" \
# 		-samplecode $(sample_dir)/TicTacToeLib  \
# 		            samples/TicTacToeLib "TicTacToeLib" \
# 		-samplecode $(sample_dir)/TicTacToeMain \
# 		            samples/TicTacToeMain "TicTacToeMain" \
# 		-samplecode $(sample_dir)/ToyVpn \
# 		            samples/ToyVpn "Toy VPN Client" \
# 		-samplecode $(sample_dir)/USB \
# 		            samples/USB "USB" \
# 		-samplecode $(sample_dir)/WeatherListWidget \
# 		            samples/WeatherListWidget "Weather List Widget" \
# 		-samplecode $(sample_dir)/WiFiDirectDemo \
#                   samples/WiFiDirectDemo "Wi-Fi Direct Demo" \
# 		-samplecode $(sample_dir)/Wiktionary \
# 		            samples/Wiktionary "Wiktionary" \
# 		-samplecode $(sample_dir)/WiktionarySimple \
# 		            samples/WiktionarySimple "Wiktionary (Simplified)" \
# 		-samplecode $(sample_dir)/VoiceRecognitionService \
# 		            samples/VoiceRecognitionService "Voice Recognition Service" \
# 		-samplecode $(sample_dir)/VoicemailProviderDemo \
# 		            samples/VoicemailProviderDemo "Voicemail Provider Demo" \
# 		-samplecode $(sample_dir)/XmlAdapters \
# 		            samples/XmlAdapters "XML Adapters" \
# 		-samplecode $(sample_dir)/TtsEngine \
# 		            samples/TtsEngine "Text To Speech Engine" \
# 		-samplecode $(sample_dir)/training/device-management-policy \
# 		            samples/training/device-management-policy "Device Management Policy"


## SDK version identifiers used in the published docs
  # major[.minor] version for current SDK. (full releases only)
framework_docs_SDK_VERSION:=4.4
@@ -722,7 +569,7 @@ framework_docs_SDK_REL_ID:=1
framework_docs_LOCAL_DROIDDOC_OPTIONS += \
		-hdf sdk.version $(framework_docs_SDK_VERSION) \
		-hdf sdk.rel.id $(framework_docs_SDK_REL_ID) \
		-hdf sdk.preview 0 \
		-hdf sdk.preview 0

# ====  the api stubs and current.xml ===========================
include $(CLEAR_VARS)
@@ -755,6 +602,32 @@ $(full_target): $(framework_built) $(gen)
$(INTERNAL_PLATFORM_API_FILE): $(full_target)
$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_API_FILE))

# ====  the private api stubs ===================================
include $(CLEAR_VARS)

LOCAL_SRC_FILES:=$(framework_docs_LOCAL_API_CHECK_SRC_FILES)
LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES)
LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)

LOCAL_MODULE := private-api-stubs

LOCAL_DROIDDOC_OPTIONS:=\
		$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
		-stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_private_stubs_current_intermediates/src \
        -showAnnotation android.annotation.PrivateApi \
		-nodocs

LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk

LOCAL_UNINSTALLABLE_MODULE := true

include $(BUILD_DROIDDOC)

# ====  check javadoc comments but don't generate docs ========
include $(CLEAR_VARS)

@@ -808,8 +681,6 @@ LOCAL_DROIDDOC_OPTIONS:=\
		-todo $(OUT_DOCS)/$(LOCAL_MODULE)-docs-todo.html \
		-sdkvalues $(OUT_DOCS) \
		-hdf android.whichdoc offline
#		$(web_docs_sample_code_flags)


LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk

@@ -836,7 +707,7 @@ LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /intl/
LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /

LOCAL_MODULE := online-sdk

@@ -845,7 +716,8 @@ LOCAL_DROIDDOC_OPTIONS:= \
		-toroot / \
		-hdf android.whichdoc online \
		$(sample_groups) \
		$(web_docs_sample_code_flags)
		-hdf android.hasSamples true \
		-samplesdir $(samples_dir)

LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk

@@ -863,7 +735,7 @@ LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
# specify a second html input dir and an output path relative to OUT_DIR)
LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl/intl /

LOCAL_MODULE := ds

@@ -873,7 +745,6 @@ LOCAL_DROIDDOC_OPTIONS:= \
		-toroot / \
		-hdf android.whichdoc online \
		-hdf devsite true
#		$(web_docs_sample_code_flags)

LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk

+13 −6
Original line number Diff line number Diff line
@@ -187,6 +187,12 @@ public final class Bmgr {
    }

    private void doWipe() {
        String transport = nextArg();
        if (transport == null) {
            showUsage();
            return;
        }

        String pkg = nextArg();
        if (pkg == null) {
            showUsage();
@@ -194,8 +200,8 @@ public final class Bmgr {
        }

        try {
            mBmgr.clearBackupData(pkg);
            System.out.println("Wiped backup data for " + pkg);
            mBmgr.clearBackupData(transport, pkg);
            System.out.println("Wiped backup data for " + pkg + " on " + transport);
        } catch (RemoteException e) {
            System.err.println(e.toString());
            System.err.println(BMGR_NOT_RUNNING_ERR);
@@ -446,7 +452,7 @@ public final class Bmgr {
        System.err.println("       bmgr restore TOKEN PACKAGE...");
        System.err.println("       bmgr restore PACKAGE");
        System.err.println("       bmgr run");
        System.err.println("       bmgr wipe PACKAGE");
        System.err.println("       bmgr wipe TRANSPORT PACKAGE");
        System.err.println("");
        System.err.println("The 'backup' command schedules a backup pass for the named package.");
        System.err.println("Note that the backup pass will effectively be a no-op if the package");
@@ -462,8 +468,8 @@ public final class Bmgr {
        System.err.println("");
        System.err.println("The 'list transports' command reports the names of the backup transports");
        System.err.println("currently available on the device.  These names can be passed as arguments");
        System.err.println("to the 'transport' command.  The currently selected transport is indicated");
        System.err.println("with a '*' character.");
        System.err.println("to the 'transport' and 'wipe' commands.  The currently selected transport");
        System.err.println("is indicated with a '*' character.");
        System.err.println("");
        System.err.println("The 'list sets' command reports the token and name of each restore set");
        System.err.println("available to the device via the current transport.");
@@ -491,7 +497,8 @@ public final class Bmgr {
        System.err.println("data changes.");
        System.err.println("");
        System.err.println("The 'wipe' command causes all backed-up data for the given package to be");
        System.err.println("erased from the current transport's storage.  The next backup operation");
        System.err.println("erased from the given transport's storage.  The next backup operation");
        System.err.println("that the given application performs will rewrite its entire data set.");
        System.err.println("Transport names to use here are those reported by 'list transports'.");
    }
}
+31 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2008 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 android.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * Indicates an API is exposed for use by bundled applications.
 * <p>
 * These APIs are not guaranteed to remain consistent release-to-release,
 * and are not for use by apps linking against the SDK.
 * @hide
 */
@Retention(RetentionPolicy.SOURCE)
public @interface PrivateApi {
}
+13 −29
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ public final class ActivityThread {
    private static final int LOG_ON_PAUSE_CALLED = 30021;
    private static final int LOG_ON_RESUME_CALLED = 30022;

    static ContextImpl mSystemContext = null;
    private ContextImpl mSystemContext;

    static IPackageManager sPackageManager;

@@ -1700,7 +1700,7 @@ public final class ActivityThread {
                                ? mBoundApplication.processName : null)
                        + ")");
                packageInfo =
                    new LoadedApk(this, aInfo, compatInfo, this, baseLoader,
                    new LoadedApk(this, aInfo, compatInfo, baseLoader,
                            securityViolation, includeCode &&
                            (aInfo.flags&ApplicationInfo.FLAG_HAS_CODE) != 0);
                if (includeCode) {
@@ -1753,26 +1753,15 @@ public final class ActivityThread {
    public ContextImpl getSystemContext() {
        synchronized (this) {
            if (mSystemContext == null) {
                ContextImpl context =
                    ContextImpl.createSystemContext(this);
                LoadedApk info = new LoadedApk(this, "android", context, null,
                        CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO);
                context.init(info, null, this);
                context.getResources().updateConfiguration(mResourcesManager.getConfiguration(),
                        mResourcesManager.getDisplayMetricsLocked(Display.DEFAULT_DISPLAY));
                mSystemContext = context;
                //Slog.i(TAG, "Created system resources " + context.getResources()
                //        + ": " + context.getResources().getConfiguration());
            }
                mSystemContext = ContextImpl.createSystemContext(this);
            }
            return mSystemContext;
        }
    }

    public void installSystemApplicationInfo(ApplicationInfo info) {
        synchronized (this) {
            ContextImpl context = getSystemContext();
            context.init(new LoadedApk(this, "android", context, info,
                    CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO), null, this);
            getSystemContext().installSystemApplicationInfo(info);

            // give ourselves a default profiler
            mProfiler = new Profiler();
@@ -2258,8 +2247,7 @@ public final class ActivityThread {

    private Context createBaseContextForActivity(ActivityClientRecord r,
            final Activity activity) {
        ContextImpl appContext = new ContextImpl();
        appContext.init(r.packageInfo, r.token, this);
        ContextImpl appContext = ContextImpl.createActivityContext(this, r.packageInfo, r.token);
        appContext.setOuterContext(activity);

        // For debugging purposes, if the activity's package name contains the value of
@@ -2544,8 +2532,7 @@ public final class ActivityThread {
                agent = (BackupAgent) cl.loadClass(classname).newInstance();

                // set up the agent's context
                ContextImpl context = new ContextImpl();
                context.init(packageInfo, null, this);
                ContextImpl context = ContextImpl.createAppContext(this, packageInfo);
                context.setOuterContext(agent);
                agent.attach(context);

@@ -2617,11 +2604,10 @@ public final class ActivityThread {
        try {
            if (localLOGV) Slog.v(TAG, "Creating service " + data.info.name);

            ContextImpl context = new ContextImpl();
            context.init(packageInfo, null, this);
            ContextImpl context = ContextImpl.createAppContext(this, packageInfo);
            context.setOuterContext(service);

            Application app = packageInfo.makeApplication(false, mInstrumentation);
            context.setOuterContext(service);
            service.attach(context, this, data.info.name, data.token, app,
                    ActivityManagerNative.getDefault());
            service.onCreate();
@@ -4217,8 +4203,7 @@ public final class ActivityThread {
        }
        updateDefaultDensity();

        final ContextImpl appContext = new ContextImpl();
        appContext.init(data.info, null, this);
        final ContextImpl appContext = ContextImpl.createAppContext(this, data.info);
        if (!Process.isIsolated()) {
            final File cacheDir = appContext.getCacheDir();

@@ -4334,8 +4319,7 @@ public final class ActivityThread {
            instrApp.nativeLibraryDir = ii.nativeLibraryDir;
            LoadedApk pi = getPackageInfo(instrApp, data.compatInfo,
                    appContext.getClassLoader(), false, true);
            ContextImpl instrContext = new ContextImpl();
            instrContext.init(pi, null, this);
            ContextImpl instrContext = ContextImpl.createAppContext(this, pi);

            try {
                java.lang.ClassLoader cl = instrContext.getClassLoader();
@@ -4950,8 +4934,8 @@ public final class ActivityThread {
                                                    UserHandle.myUserId());
            try {
                mInstrumentation = new Instrumentation();
                ContextImpl context = new ContextImpl();
                context.init(getSystemContext().mPackageInfo, null, this);
                ContextImpl context = ContextImpl.createAppContext(
                        this, getSystemContext().mPackageInfo);
                Application app = Instrumentation.newApplication(Application.class, context);
                mAllApplications.add(app);
                mInitialApplication = app;
+2 −2
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ import android.os.RemoteException;
 * API for interacting with "application operation" tracking.
 *
 * <p>This API is not generally intended for third party application developers; most
 * features are only available to system applicatins.  Obtain an instance of it through
 * features are only available to system applications.  Obtain an instance of it through
 * {@link Context#getSystemService(String) Context.getSystemService} with
 * {@link Context#APP_OPS_SERVICE Context.APP_OPS_SERVICE}.</p>
 */
@@ -878,7 +878,7 @@ public class AppOpsManager {
    }

    /**
     * Like {@link #checkOp but instead of throwing a {@link SecurityException} it
     * Like {@link #checkOp} but instead of throwing a {@link SecurityException} it
     * returns {@link #MODE_ERRORED}.
     */
    public int checkOpNoThrow(String op, int uid, String packageName) {
Loading