Skip to content

Commit

Permalink
Merge tag 'android-6.0.1_r3' of https://android.googlesource.com/plat…
Browse files Browse the repository at this point in the history
…form/frameworks/base into HEAD

Android 6.0.1 release 3

Conflicts:
	core/res/res/values/config.xml
	core/res/res/values/symbols.xml
	services/core/java/com/android/server/MountService.java

	modified:   Android.mk
	modified:   core/java/android/app/Activity.java
	modified:   core/java/android/app/ApplicationPackageManager.java
	modified:   core/java/android/app/Fragment.java
	modified:   core/java/android/app/FragmentController.java
	modified:   core/java/android/app/FragmentHostCallback.java
	modified:   core/java/android/app/FragmentManager.java
	modified:   core/java/android/app/Notification.java
	modified:   core/java/android/app/usage/UsageStatsManagerInternal.java
	modified:   core/java/android/content/Context.java
	modified:   core/java/android/content/PeriodicSync.java
	modified:   core/java/android/content/pm/ActivityInfo.java
	modified:   core/java/android/content/pm/IPackageManager.aidl
	modified:   core/java/android/content/pm/PackageParser.java
	modified:   core/java/android/hardware/SystemSensorManager.java
	modified:   core/java/android/hardware/input/IInputManager.aidl
	modified:   core/java/android/hardware/input/InputManager.java
	modified:   core/java/android/net/ConnectivityManager.java
	modified:   core/java/android/net/DhcpResults.java
	modified:   core/java/android/net/NetworkPolicyManager.java
	modified:   core/java/android/net/NetworkTemplate.java
	modified:   core/java/android/os/Build.java
	modified:   core/java/android/os/Debug.java
	modified:   core/java/android/os/Environment.java
	modified:   core/java/android/os/Parcel.java
	modified:   core/java/android/preference/SeekBarVolumizer.java
	modified:   core/java/android/provider/Settings.java
	modified:   core/java/android/service/notification/ZenModeConfig.java
	modified:   core/java/android/text/Hyphenator.java
	modified:   core/java/android/text/StaticLayout.java
	modified:   core/java/android/transition/ChangeBounds.java
	modified:   core/java/android/view/View.java
	modified:   core/java/android/view/Window.java
	modified:   core/java/android/widget/Editor.java
	modified:   core/java/android/widget/ImageView.java
	modified:   core/java/android/widget/RelativeLayout.java
	modified:   core/java/android/widget/TextView.java
	modified:   core/java/com/android/internal/app/ChooserActivity.java
	modified:   core/java/com/android/internal/app/ResolverActivity.java
	modified:   core/java/com/android/internal/policy/PhoneWindow.java
	modified:   core/java/com/android/internal/view/FloatingActionMode.java
	modified:   core/java/com/android/internal/widget/FloatingToolbar.java
	modified:   core/java/com/android/internal/widget/ResolverDrawerLayout.java
	modified:   core/jni/android/graphics/Bitmap.cpp
	modified:   core/jni/android_hardware_camera2_DngCreator.cpp
	modified:   core/jni/android_os_Debug.cpp
	modified:   core/jni/android_os_Parcel.cpp
	modified:   core/jni/android_text_StaticLayout.cpp
	modified:   core/res/AndroidManifest.xml
	modified:   core/res/res/drawable/spinner_background_material.xml
	modified:   core/res/res/layout/chooser_grid.xml
	modified:   core/res/res/layout/resolve_grid_item.xml
	modified:   core/res/res/values-af/strings.xml
	modified:   core/res/res/values-am/strings.xml
	modified:   core/res/res/values-ar/strings.xml
	modified:   core/res/res/values-az-rAZ/strings.xml
	modified:   core/res/res/values-bg/strings.xml
	modified:   core/res/res/values-bn-rBD/strings.xml
	modified:   core/res/res/values-ca/strings.xml
	modified:   core/res/res/values-cs/strings.xml
	modified:   core/res/res/values-da/strings.xml
	modified:   core/res/res/values-de/strings.xml
	modified:   core/res/res/values-el/strings.xml
	modified:   core/res/res/values-en-rAU/strings.xml
	modified:   core/res/res/values-en-rGB/strings.xml
	modified:   core/res/res/values-en-rIN/strings.xml
	modified:   core/res/res/values-es-rUS/strings.xml
	modified:   core/res/res/values-es/strings.xml
	modified:   core/res/res/values-et-rEE/strings.xml
	modified:   core/res/res/values-eu-rES/strings.xml
	modified:   core/res/res/values-fa/strings.xml
	modified:   core/res/res/values-fi/strings.xml
	modified:   core/res/res/values-fr-rCA/strings.xml
	modified:   core/res/res/values-fr/strings.xml
	modified:   core/res/res/values-gl-rES/strings.xml
	modified:   core/res/res/values-gu-rIN/strings.xml
	modified:   core/res/res/values-hi/strings.xml
	modified:   core/res/res/values-hr/strings.xml
	modified:   core/res/res/values-hu/strings.xml
	modified:   core/res/res/values-hy-rAM/strings.xml
	modified:   core/res/res/values-in/strings.xml
	modified:   core/res/res/values-is-rIS/strings.xml
	modified:   core/res/res/values-it/strings.xml
	modified:   core/res/res/values-iw/strings.xml
	modified:   core/res/res/values-ja/strings.xml
	modified:   core/res/res/values-ka-rGE/strings.xml
	modified:   core/res/res/values-kk-rKZ/strings.xml
	modified:   core/res/res/values-km-rKH/strings.xml
	modified:   core/res/res/values-kn-rIN/strings.xml
	modified:   core/res/res/values-ko/strings.xml
	modified:   core/res/res/values-ky-rKG/strings.xml
	modified:   core/res/res/values-lo-rLA/strings.xml
	modified:   core/res/res/values-lt/strings.xml
	modified:   core/res/res/values-lv/strings.xml
	modified:   core/res/res/values-mcc204-mnc04/config.xml
	modified:   core/res/res/values-mcc302-mnc780/config.xml
	modified:   core/res/res/values-mk-rMK/strings.xml
	modified:   core/res/res/values-ml-rIN/strings.xml
	modified:   core/res/res/values-mn-rMN/strings.xml
	modified:   core/res/res/values-mr-rIN/strings.xml
	modified:   core/res/res/values-ms-rMY/strings.xml
	modified:   core/res/res/values-my-rMM/strings.xml
	modified:   core/res/res/values-nb/strings.xml
	modified:   core/res/res/values-ne-rNP/strings.xml
	modified:   core/res/res/values-nl/strings.xml
	modified:   core/res/res/values-pa-rIN/strings.xml
	modified:   core/res/res/values-pl/strings.xml
	modified:   core/res/res/values-pt-rBR/strings.xml
	modified:   core/res/res/values-pt-rPT/strings.xml
	modified:   core/res/res/values-pt/strings.xml
	modified:   core/res/res/values-ro/strings.xml
	modified:   core/res/res/values-ru/strings.xml
	modified:   core/res/res/values-si-rLK/strings.xml
	modified:   core/res/res/values-sk/strings.xml
	modified:   core/res/res/values-sl/strings.xml
	modified:   core/res/res/values-sq-rAL/strings.xml
	modified:   core/res/res/values-sr/strings.xml
	modified:   core/res/res/values-sv/strings.xml
	modified:   core/res/res/values-sw/strings.xml
	modified:   core/res/res/values-ta-rIN/strings.xml
	modified:   core/res/res/values-te-rIN/strings.xml
	modified:   core/res/res/values-th/strings.xml
	modified:   core/res/res/values-tl/strings.xml
	modified:   core/res/res/values-tr/strings.xml
	modified:   core/res/res/values-uk/strings.xml
	modified:   core/res/res/values-ur-rPK/strings.xml
	modified:   core/res/res/values-uz-rUZ/strings.xml
	modified:   core/res/res/values-vi/strings.xml
	modified:   core/res/res/values-zh-rCN/strings.xml
	modified:   core/res/res/values-zh-rHK/strings.xml
	modified:   core/res/res/values-zh-rTW/strings.xml
	modified:   core/res/res/values-zu/strings.xml
	modified:   core/res/res/values/attrs_manifest.xml
	modified:   core/res/res/values/config.xml
	modified:   core/res/res/values/strings.xml
	modified:   core/res/res/values/symbols.xml
	new file:   data/keyboards/Vendor_18d1_Product_5018.kcm
	new file:   data/keyboards/Vendor_18d1_Product_5018.kl
	modified:   docs/html/guide/topics/manifest/compatible-screens-element.jd
	modified:   graphics/java/android/graphics/drawable/Icon.java
	modified:   libs/hwui/RenderNode.cpp
	modified:   libs/hwui/ShadowTessellator.cpp
	modified:   libs/hwui/SpotShadow.cpp
	modified:   media/java/android/media/MediaPlayer.java
	new file:   media/java/android/media/midi/IBluetoothMidiService.aidl
	modified:   media/java/android/media/midi/MidiManager.java
	modified:   media/packages/BluetoothMidiService/Android.mk
	modified:   media/packages/BluetoothMidiService/AndroidManifest.xml
	modified:   media/packages/BluetoothMidiService/src/com/android/bluetoothmidiservice/BluetoothMidiDevice.java
	modified:   media/packages/BluetoothMidiService/src/com/android/bluetoothmidiservice/BluetoothMidiService.java
	modified:   packages/DocumentsUI/AndroidManifest.xml
	modified:   packages/DocumentsUI/src/com/android/documentsui/CopyService.java
	modified:   packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
	modified:   packages/DocumentsUI/src/com/android/documentsui/RecentLoader.java
	modified:   packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothAdapter.java
	modified:   packages/SystemUI/AndroidManifest.xml
	modified:   packages/SystemUI/res/values-af/strings.xml
	modified:   packages/SystemUI/res/values-am/strings.xml
	modified:   packages/SystemUI/res/values-ar/strings.xml
	modified:   packages/SystemUI/res/values-az-rAZ/strings.xml
	modified:   packages/SystemUI/res/values-bg/strings.xml
	modified:   packages/SystemUI/res/values-bn-rBD/strings.xml
	modified:   packages/SystemUI/res/values-ca/strings.xml
	modified:   packages/SystemUI/res/values-cs/strings.xml
	modified:   packages/SystemUI/res/values-da/strings.xml
	modified:   packages/SystemUI/res/values-de/strings.xml
	modified:   packages/SystemUI/res/values-el/strings.xml
	modified:   packages/SystemUI/res/values-en-rAU/strings.xml
	modified:   packages/SystemUI/res/values-en-rGB/strings.xml
	modified:   packages/SystemUI/res/values-en-rIN/strings.xml
	deleted:    packages/SystemUI/res/values-en/donottranslate.xml
	modified:   packages/SystemUI/res/values-es-rUS/strings.xml
	modified:   packages/SystemUI/res/values-es/strings.xml
	modified:   packages/SystemUI/res/values-et-rEE/strings.xml
	modified:   packages/SystemUI/res/values-eu-rES/strings.xml
	modified:   packages/SystemUI/res/values-fa/strings.xml
	modified:   packages/SystemUI/res/values-fi/strings.xml
	modified:   packages/SystemUI/res/values-fr-rCA/strings.xml
	modified:   packages/SystemUI/res/values-fr/strings.xml
	modified:   packages/SystemUI/res/values-gl-rES/strings.xml
	modified:   packages/SystemUI/res/values-gu-rIN/strings.xml
	modified:   packages/SystemUI/res/values-hi/strings.xml
	modified:   packages/SystemUI/res/values-hr/strings.xml
	modified:   packages/SystemUI/res/values-hu/strings.xml
	modified:   packages/SystemUI/res/values-hy-rAM/strings.xml
	modified:   packages/SystemUI/res/values-in/strings.xml
	modified:   packages/SystemUI/res/values-is-rIS/strings.xml
	modified:   packages/SystemUI/res/values-it/strings.xml
	modified:   packages/SystemUI/res/values-iw/strings.xml
	modified:   packages/SystemUI/res/values-ja/strings.xml
	modified:   packages/SystemUI/res/values-ka-rGE/strings.xml
	modified:   packages/SystemUI/res/values-kk-rKZ/strings.xml
	modified:   packages/SystemUI/res/values-km-rKH/strings.xml
	modified:   packages/SystemUI/res/values-kn-rIN/strings.xml
	modified:   packages/SystemUI/res/values-ko/strings.xml
	modified:   packages/SystemUI/res/values-ky-rKG/strings.xml
	modified:   packages/SystemUI/res/values-lo-rLA/strings.xml
	modified:   packages/SystemUI/res/values-lt/strings.xml
	modified:   packages/SystemUI/res/values-lv/strings.xml
	modified:   packages/SystemUI/res/values-mk-rMK/strings.xml
	modified:   packages/SystemUI/res/values-ml-rIN/strings.xml
	modified:   packages/SystemUI/res/values-mn-rMN/strings.xml
	modified:   packages/SystemUI/res/values-mr-rIN/strings.xml
	modified:   packages/SystemUI/res/values-ms-rMY/strings.xml
	modified:   packages/SystemUI/res/values-my-rMM/strings.xml
	modified:   packages/SystemUI/res/values-nb/strings.xml
	modified:   packages/SystemUI/res/values-ne-rNP/strings.xml
	modified:   packages/SystemUI/res/values-nl/strings.xml
	modified:   packages/SystemUI/res/values-pa-rIN/strings.xml
	modified:   packages/SystemUI/res/values-pl/strings.xml
	modified:   packages/SystemUI/res/values-pt-rBR/strings.xml
	modified:   packages/SystemUI/res/values-pt-rPT/strings.xml
	modified:   packages/SystemUI/res/values-pt/strings.xml
	modified:   packages/SystemUI/res/values-ro/strings.xml
	modified:   packages/SystemUI/res/values-ru/strings.xml
	modified:   packages/SystemUI/res/values-si-rLK/strings.xml
	modified:   packages/SystemUI/res/values-sk/strings.xml
	modified:   packages/SystemUI/res/values-sl/strings.xml
	modified:   packages/SystemUI/res/values-sq-rAL/strings.xml
	modified:   packages/SystemUI/res/values-sr/strings.xml
	modified:   packages/SystemUI/res/values-sv/strings.xml
	modified:   packages/SystemUI/res/values-sw/strings.xml
	modified:   packages/SystemUI/res/values-ta-rIN/strings.xml
	modified:   packages/SystemUI/res/values-te-rIN/strings.xml
	modified:   packages/SystemUI/res/values-th/strings.xml
	modified:   packages/SystemUI/res/values-tl/strings.xml
	modified:   packages/SystemUI/res/values-tr/strings.xml
	modified:   packages/SystemUI/res/values-uk/strings.xml
	modified:   packages/SystemUI/res/values-ur-rPK/strings.xml
	modified:   packages/SystemUI/res/values-uz-rUZ/strings.xml
	modified:   packages/SystemUI/res/values-vi/strings.xml
	modified:   packages/SystemUI/res/values-zh-rCN/strings.xml
	modified:   packages/SystemUI/res/values-zh-rHK/strings.xml
	modified:   packages/SystemUI/res/values-zh-rTW/strings.xml
	modified:   packages/SystemUI/res/values-zu/strings.xml
	modified:   packages/SystemUI/res/values/attrs.xml
	modified:   packages/SystemUI/res/values/donottranslate.xml
	modified:   packages/SystemUI/res/values/strings.xml
	modified:   packages/SystemUI/src/com/android/systemui/SystemUIApplication.java
	new file:   packages/SystemUI/src/com/android/systemui/keyboard/BluetoothDialog.java
	new file:   packages/SystemUI/src/com/android/systemui/keyboard/KeyboardUI.java
	modified:   packages/SystemUI/src/com/android/systemui/media/NotificationPlayer.java
	modified:   packages/SystemUI/src/com/android/systemui/qs/QSTile.java
	modified:   packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java
	modified:   packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/phone/ActivityStarter.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeController.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java
	modified:   packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
	modified:   packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java
	modified:   packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
	modified:   rs/java/android/renderscript/RenderScript.java
	modified:   rs/jni/android_renderscript_RenderScript.cpp
	modified:   services/core/java/com/android/server/AlarmManagerService.java
	modified:   services/core/java/com/android/server/AppOpsService.java
	modified:   services/core/java/com/android/server/ConnectivityService.java
	modified:   services/core/java/com/android/server/DeviceIdleController.java
	modified:   services/core/java/com/android/server/InputMethodManagerService.java
	modified:   services/core/java/com/android/server/MountService.java
	modified:   services/core/java/com/android/server/NetworkManagementService.java
	modified:   services/core/java/com/android/server/NetworkTimeUpdateService.java
	modified:   services/core/java/com/android/server/accounts/AccountManagerService.java
	modified:   services/core/java/com/android/server/am/ActiveServices.java
	modified:   services/core/java/com/android/server/am/ActivityManagerService.java
	modified:   services/core/java/com/android/server/am/ActivityStackSupervisor.java
	modified:   services/core/java/com/android/server/am/BroadcastQueue.java
	modified:   services/core/java/com/android/server/am/BroadcastRecord.java
	modified:   services/core/java/com/android/server/am/ProcessRecord.java
	modified:   services/core/java/com/android/server/content/AppIdleMonitor.java
	modified:   services/core/java/com/android/server/content/SyncManager.java
	modified:   services/core/java/com/android/server/display/ColorFade.java
	modified:   services/core/java/com/android/server/display/DisplayPowerController.java
	modified:   services/core/java/com/android/server/display/DisplayPowerState.java
	modified:   services/core/java/com/android/server/input/InputManagerService.java
	modified:   services/core/java/com/android/server/job/JobSchedulerService.java
	modified:   services/core/java/com/android/server/job/JobServiceContext.java
	modified:   services/core/java/com/android/server/job/JobStore.java
	modified:   services/core/java/com/android/server/job/controllers/AppIdleController.java
	modified:   services/core/java/com/android/server/job/controllers/JobStatus.java
	modified:   services/core/java/com/android/server/job/controllers/StateController.java
	modified:   services/core/java/com/android/server/net/NetworkPolicyManagerService.java
	modified:   services/core/java/com/android/server/pm/PackageManagerService.java
	modified:   services/core/java/com/android/server/pm/PackageSettingBase.java
	modified:   services/core/java/com/android/server/pm/Settings.java
	modified:   services/core/java/com/android/server/policy/PhoneWindowManager.java
	modified:   services/core/java/com/android/server/wm/WindowStateAnimator.java
	modified:   services/midi/java/com/android/server/midi/MidiService.java
	modified:   services/net/java/android/net/dhcp/DhcpAckPacket.java
	modified:   services/net/java/android/net/dhcp/DhcpClient.java
	modified:   services/net/java/android/net/dhcp/DhcpOfferPacket.java
	modified:   services/net/java/android/net/dhcp/DhcpPacket.java
	modified:   services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java
	new file:   services/tests/servicestests/src/com/android/server/content/SyncManagerTest.java
	modified:   services/tests/servicestests/src/com/android/server/job/JobStoreTest.java
	modified:   services/usage/java/com/android/server/usage/UsageStatsService.java
	modified:   services/usb/java/com/android/server/usb/UsbDeviceManager.java
	modified:   services/voiceinteraction/java/com/android/server/voiceinteraction/SoundTriggerHelper.java
	modified:   services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
	modified:   services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
	modified:   telephony/java/android/telephony/CarrierConfigManager.java
	modified:   telephony/java/android/telephony/SignalStrength.java
	modified:   telephony/java/android/telephony/SubscriptionInfo.java
	modified:   telephony/java/android/telephony/TelephonyManager.java
	modified:   telephony/java/com/android/ims/ImsCallProfile.java
	modified:   wifi/java/android/net/wifi/WifiEnterpriseConfig.java
  • Loading branch information
jsnweitzel committed Dec 26, 2015
2 parents 0f64710 + 4d70bd7 commit 171c570
Show file tree
Hide file tree
Showing 315 changed files with 4,272 additions and 1,260 deletions.
1 change: 1 addition & 0 deletions Android.mk
Expand Up @@ -358,6 +358,7 @@ LOCAL_SRC_FILES += \
media/java/android/media/IRingtonePlayer.aidl \
media/java/android/media/IVolumeController.aidl \
media/java/android/media/audiopolicy/IAudioPolicyCallback.aidl \
media/java/android/media/midi/IBluetoothMidiService.aidl \
media/java/android/media/midi/IMidiDeviceListener.aidl \
media/java/android/media/midi/IMidiDeviceOpenCallback.aidl \
media/java/android/media/midi/IMidiDeviceServer.aidl \
Expand Down
29 changes: 29 additions & 0 deletions core/java/android/app/Activity.java
Expand Up @@ -694,6 +694,8 @@ public class Activity extends ContextThemeWrapper
private static final String SAVED_DIALOGS_TAG = "android:savedDialogs";
private static final String SAVED_DIALOG_KEY_PREFIX = "android:dialog_";
private static final String SAVED_DIALOG_ARGS_KEY_PREFIX = "android:dialog_args_";
private static final String HAS_CURENT_PERMISSIONS_REQUEST_KEY =
"android:hasCurrentPermissionsRequest";

private static final String REQUEST_PERMISSIONS_WHO_PREFIX = "@android:requestPermissions:";

Expand Down Expand Up @@ -802,6 +804,8 @@ private static final class ManagedCursor {
SharedElementCallback mEnterTransitionListener = SharedElementCallback.NULL_CALLBACK;
SharedElementCallback mExitTransitionListener = SharedElementCallback.NULL_CALLBACK;

private boolean mHasCurrentPermissionsRequest;

/** Return the intent that started this activity. */
public Intent getIntent() {
return mIntent;
Expand Down Expand Up @@ -1303,6 +1307,7 @@ final void performSaveInstanceState(Bundle outState) {
onSaveInstanceState(outState);
saveManagedDialogs(outState);
mActivityTransitionState.saveState(outState);
storeHasCurrentPermissionRequest(outState);
if (DEBUG_LIFECYCLE) Slog.v(TAG, "onSaveInstanceState " + this + ": " + outState);
}

Expand All @@ -1318,6 +1323,7 @@ final void performSaveInstanceState(Bundle outState) {
final void performSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
onSaveInstanceState(outState, outPersistentState);
saveManagedDialogs(outState);
storeHasCurrentPermissionRequest(outState);
if (DEBUG_LIFECYCLE) Slog.v(TAG, "onSaveInstanceState " + this + ": " + outState +
", " + outPersistentState);
}
Expand Down Expand Up @@ -3845,8 +3851,15 @@ protected void onApplyThemeResource(Resources.Theme theme, @StyleRes int resid,
* @see #shouldShowRequestPermissionRationale(String)
*/
public final void requestPermissions(@NonNull String[] permissions, int requestCode) {
if (mHasCurrentPermissionsRequest) {
Log.w(TAG, "Can reqeust only one set of permissions at a time");
// Dispatch the callback with empty arrays which means a cancellation.
onRequestPermissionsResult(requestCode, new String[0], new int[0]);
return;
}
Intent intent = getPackageManager().buildRequestPermissionsIntent(permissions);
startActivityForResult(REQUEST_PERMISSIONS_WHO_PREFIX, intent, requestCode, null);
mHasCurrentPermissionsRequest = true;
}

/**
Expand Down Expand Up @@ -6268,12 +6281,14 @@ final void performCreateCommon() {
}

final void performCreate(Bundle icicle) {
restoreHasCurrentPermissionRequest(icicle);
onCreate(icicle);
mActivityTransitionState.readState(icicle);
performCreateCommon();
}

final void performCreate(Bundle icicle, PersistableBundle persistentState) {
restoreHasCurrentPermissionRequest(icicle);
onCreate(icicle, persistentState);
mActivityTransitionState.readState(icicle);
performCreateCommon();
Expand Down Expand Up @@ -6452,6 +6467,19 @@ public final boolean isResumed() {
return mResumed;
}

private void storeHasCurrentPermissionRequest(Bundle bundle) {
if (bundle != null && mHasCurrentPermissionsRequest) {
bundle.putBoolean(HAS_CURENT_PERMISSIONS_REQUEST_KEY, true);
}
}

private void restoreHasCurrentPermissionRequest(Bundle bundle) {
if (bundle != null) {
mHasCurrentPermissionsRequest = bundle.getBoolean(
HAS_CURENT_PERMISSIONS_REQUEST_KEY, false);
}
}

void dispatchActivityResult(String who, int requestCode,
int resultCode, Intent data) {
if (false) Log.v(
Expand Down Expand Up @@ -6579,6 +6607,7 @@ public interface TranslucentConversionListener {
}

private void dispatchRequestPermissionsResult(int requestCode, Intent data) {
mHasCurrentPermissionsRequest = false;
// If the package installer crashed we may have not data - best effort.
String[] permissions = (data != null) ? data.getStringArrayExtra(
PackageManager.EXTRA_REQUEST_PERMISSIONS_NAMES) : new String[0];
Expand Down
3 changes: 2 additions & 1 deletion core/java/android/app/ApplicationPackageManager.java
Expand Up @@ -1619,7 +1619,8 @@ private static boolean isPackageCandidateVolume(ApplicationInfo app, VolumeInfo
// System apps and apps demanding internal storage can't be moved
// anywhere else
if (app.isSystemApp()
|| app.installLocation == PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY) {
|| app.installLocation == PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY
|| app.installLocation == PackageInfo.INSTALL_LOCATION_UNSPECIFIED) {
return false;
}

Expand Down
5 changes: 1 addition & 4 deletions core/java/android/app/Fragment.java
Expand Up @@ -460,9 +460,6 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
// If set this fragment is being retained across the current config change.
boolean mRetaining;

// If set this fragment's loaders are being retained across the current config change.
boolean mRetainLoader;

// If set this fragment has menu items to contribute.
boolean mHasMenu;

Expand Down Expand Up @@ -2404,7 +2401,7 @@ void performStop() {
mLoaderManager = mHost.getLoaderManager(mWho, mLoadersStarted, false);
}
if (mLoaderManager != null) {
if (mRetainLoader) {
if (mHost.getRetainLoaders()) {
mLoaderManager.doRetain();
} else {
mLoaderManager.doStop();
Expand Down
1 change: 0 additions & 1 deletion core/java/android/app/FragmentController.java
Expand Up @@ -341,7 +341,6 @@ public void doLoaderStart() {
*/
public void doLoaderStop(boolean retain) {
mHost.doLoaderStop(retain);
mHost.mFragmentManager.setRetainLoader(retain);
}

/**
Expand Down
11 changes: 11 additions & 0 deletions core/java/android/app/FragmentHostCallback.java
Expand Up @@ -42,9 +42,14 @@ public abstract class FragmentHostCallback<E> extends FragmentContainer {
private final Handler mHandler;
final int mWindowAnimations;
final FragmentManagerImpl mFragmentManager = new FragmentManagerImpl();
/** The loader managers for individual fragments [i.e. Fragment#getLoaderManager()] */
private ArrayMap<String, LoaderManager> mAllLoaderManagers;
/** Whether or not fragment loaders should retain their state */
private boolean mRetainLoaders;
/** The loader manger for the fragment host [i.e. Activity#getLoaderManager()] */
private LoaderManagerImpl mLoaderManager;
private boolean mCheckedForLoaderManager;
/** Whether or not the fragment host loader manager was started */
private boolean mLoadersStarted;

public FragmentHostCallback(Context context, Handler handler, int windowAnimations) {
Expand Down Expand Up @@ -166,6 +171,10 @@ public boolean onHasView() {
return true;
}

boolean getRetainLoaders() {
return mRetainLoaders;
}

Activity getActivity() {
return mActivity;
}
Expand Down Expand Up @@ -217,6 +226,8 @@ void doLoaderStart() {
}

void doLoaderStop(boolean retain) {
mRetainLoaders = retain;

if (mLoaderManager == null) {
return;
}
Expand Down
12 changes: 1 addition & 11 deletions core/java/android/app/FragmentManager.java
Expand Up @@ -869,17 +869,6 @@ public void performPendingDeferredStart(Fragment f) {
}
}

void setRetainLoader(boolean retain) {
if (mActive != null) {
for (int i=0; i<mActive.size(); i++) {
Fragment f = mActive.get(i);
if (f != null) {
f.mRetainLoader = retain;
}
}
}
}

void moveToState(Fragment f, int newState, int transit, int transitionStyle,
boolean keepActive) {
if (DEBUG && false) Log.v(TAG, "moveToState: " + f
Expand Down Expand Up @@ -2221,6 +2210,7 @@ public View onCreateView(View parent, String name, Context context, AttributeSet
// This fragment was retained from a previous instance; get it
// going now.
fragment.mInLayout = true;
fragment.mHost = mHost;
// If this fragment is newly instantiated (either right now, or
// from last saved state), then give it the attributes to
// initialize itself.
Expand Down
7 changes: 6 additions & 1 deletion core/java/android/app/Notification.java
Expand Up @@ -3970,13 +3970,18 @@ public BigPictureStyle bigLargeIcon(Icon icon) {
return this;
}

/** @hide */
public static final int MIN_ASHMEM_BITMAP_SIZE = 128 * (1 << 10);

/**
* @hide
*/
@Override
public void purgeResources() {
super.purgeResources();
if (mPicture != null && mPicture.isMutable()) {
if (mPicture != null &&
mPicture.isMutable() &&
mPicture.getAllocationByteCount() >= MIN_ASHMEM_BITMAP_SIZE) {
mPicture = mPicture.createAshmemBitmap();
}
if (mBigLargeIcon != null) {
Expand Down
3 changes: 2 additions & 1 deletion core/java/android/app/usage/UsageStatsManagerInternal.java
Expand Up @@ -71,10 +71,11 @@ public abstract class UsageStatsManagerInternal {
* Could be hours, could be days, who knows?
*
* @param packageName
* @param uidForAppId The uid of the app, which will be used for its app id
* @param userId
* @return
*/
public abstract boolean isAppIdle(String packageName, int userId);
public abstract boolean isAppIdle(String packageName, int uidForAppId, int userId);

/**
* Returns all of the uids for a given user where all packages associating with that uid
Expand Down

0 comments on commit 171c570

Please sign in to comment.