diff options
28 files changed, 152 insertions, 5 deletions
diff --git a/docs/html/_project.yaml b/docs/html/_project.yaml new file mode 100644 index 000000000000..a67469be5059 --- /dev/null +++ b/docs/html/_project.yaml @@ -0,0 +1,5 @@ +name: "Home" +home_url: / +description: "Android Developers website." +content_license: cc3-apache2 +buganizer_id: 30209417 diff --git a/docs/html/about/_project.yaml b/docs/html/about/_project.yaml new file mode 100644 index 000000000000..160cf55c1424 --- /dev/null +++ b/docs/html/about/_project.yaml @@ -0,0 +1,5 @@ +name: "Android" +home_url: /about/ +description: "Android, the world's most popular mobile platform" +content_license: cc3-apache2 +buganizer_id: 30209417 diff --git a/docs/html/design/_project.yaml b/docs/html/design/_project.yaml new file mode 100644 index 000000000000..72df4a87d248 --- /dev/null +++ b/docs/html/design/_project.yaml @@ -0,0 +1,5 @@ +name: "Design" +home_url: /design/ +description: "Create beautiful experiences in your apps." +content_license: cc3-apache2 +buganizer_id: 30209417 diff --git a/docs/html/develop/_project.yaml b/docs/html/develop/_project.yaml new file mode 100644 index 000000000000..40a66b32ff69 --- /dev/null +++ b/docs/html/develop/_project.yaml @@ -0,0 +1,5 @@ +name: "Develop" +home_url: /develop/ +description: "Android Studio provides the fastest tools for building apps on every type of Android device." +content_license: cc3-apache2 +buganizer_id: 30209417 diff --git a/docs/html/distribute/_project.yaml b/docs/html/distribute/_project.yaml new file mode 100644 index 000000000000..5777333444a6 --- /dev/null +++ b/docs/html/distribute/_project.yaml @@ -0,0 +1,5 @@ +name: "Distribute" +home_url: /distribute/ +description: "The most visited store in the world for Android apps. Cloud-connected and always synced, it's never been easier for users to find and download your apps." +content_license: cc3-apache2 +buganizer_id: 30209417 diff --git a/docs/html/distribute/analyze/_project.yaml b/docs/html/distribute/analyze/_project.yaml new file mode 100644 index 000000000000..5c7707473e86 --- /dev/null +++ b/docs/html/distribute/analyze/_project.yaml @@ -0,0 +1,6 @@ +name: "Analyze" +home_url: /distribute/analyze/ +description: "Understanding what your users do inside your app is the key to engaging and monetizing them." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /distribute/_project.yaml diff --git a/docs/html/distribute/engage/_project.yaml b/docs/html/distribute/engage/_project.yaml new file mode 100644 index 000000000000..fd8fa44d85fb --- /dev/null +++ b/docs/html/distribute/engage/_project.yaml @@ -0,0 +1,6 @@ +name: "Engage & Retain" +home_url: /distribute/engage/ +description: "Engaging and retaining active users are the keys to success. Here are some resources to help you build an active user base." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /distribute/_project.yaml diff --git a/docs/html/distribute/essentials/_project.yaml b/docs/html/distribute/essentials/_project.yaml new file mode 100644 index 000000000000..cafde8d75f2f --- /dev/null +++ b/docs/html/distribute/essentials/_project.yaml @@ -0,0 +1,6 @@ +name: "Essentials" +home_url: /distribute/essentials/ +description: "A focus on quality should be part of your entire app delivery process: from initial concept through app and UI design, coding and testing and onto a process of monitoring feedback and making improvement after launch." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /distribute/_project.yaml diff --git a/docs/html/distribute/googleplay/_project.yaml b/docs/html/distribute/googleplay/_project.yaml new file mode 100644 index 000000000000..2dfded376dbe --- /dev/null +++ b/docs/html/distribute/googleplay/_project.yaml @@ -0,0 +1,6 @@ +name: "Google Play" +home_url: /distribute/googleplay/ +description: "The premier store for distributing Android apps and games, with global reach and tools to help you gain traction in the marketplace." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /distribute/_project.yaml diff --git a/docs/html/distribute/monetize/_project.yaml b/docs/html/distribute/monetize/_project.yaml new file mode 100644 index 000000000000..1936be22822d --- /dev/null +++ b/docs/html/distribute/monetize/_project.yaml @@ -0,0 +1,6 @@ +name: "Earn" +home_url: /distribute/monetize/ +description: "There are many ways to make money with your apps on Google Play, and we offer a variety of tools to make it easy." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /distribute/_project.yaml diff --git a/docs/html/distribute/stories/_project.yaml b/docs/html/distribute/stories/_project.yaml new file mode 100644 index 000000000000..1c242bb2b042 --- /dev/null +++ b/docs/html/distribute/stories/_project.yaml @@ -0,0 +1,6 @@ +name: "Stories" +home_url: /distribute/stories/ +description: "Android developers, their apps, and their successes with Android and Google Play." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /distribute/_project.yaml diff --git a/docs/html/distribute/tools/_project.yaml b/docs/html/distribute/tools/_project.yaml new file mode 100644 index 000000000000..a034ede66a5c --- /dev/null +++ b/docs/html/distribute/tools/_project.yaml @@ -0,0 +1,6 @@ +name: "Tools & Reference" +home_url: /distribute/tools/ +description: "Here you'll find resources to help you publish your apps and games, acquire users, and monetize your investment." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /distribute/_project.yaml diff --git a/docs/html/distribute/users/_project.yaml b/docs/html/distribute/users/_project.yaml new file mode 100644 index 000000000000..cd7083e24cfc --- /dev/null +++ b/docs/html/distribute/users/_project.yaml @@ -0,0 +1,6 @@ +name: "Get Users" +home_url: /distribute/users/ +description: "There are some common themes from successful Google Play developers. These best practices are critical to your app or game's success." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /distribute/_project.yaml diff --git a/docs/html/google/_project.yaml b/docs/html/google/_project.yaml new file mode 100644 index 000000000000..051e6bc8a401 --- /dev/null +++ b/docs/html/google/_project.yaml @@ -0,0 +1,5 @@ +name: "Google Services" +home_url: /google/ +description: "Take advantage of the latest Google technologies through a single set of APIs, delivered across Android devices worldwide as part of Google Play services." +content_license: cc3-apache2 +buganizer_id: 30209417 diff --git a/docs/html/guide/_project.yaml b/docs/html/guide/_project.yaml new file mode 100644 index 000000000000..d1f8e5e04de6 --- /dev/null +++ b/docs/html/guide/_project.yaml @@ -0,0 +1,6 @@ +name: "API Guides" +home_url: /guide/ +description: "Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /develop/_project.yaml diff --git a/docs/html/preview/_project.yaml b/docs/html/preview/_project.yaml new file mode 100644 index 000000000000..3ec851aa3346 --- /dev/null +++ b/docs/html/preview/_project.yaml @@ -0,0 +1,5 @@ +name: "Preview" +home_url: /preview/ +description: "Android N final SDK is now available." +content_license: cc3-apache2 +buganizer_id: 30209417 diff --git a/docs/html/reference/_project.yaml b/docs/html/reference/_project.yaml new file mode 100644 index 000000000000..e5c26e7fdd8f --- /dev/null +++ b/docs/html/reference/_project.yaml @@ -0,0 +1,6 @@ +name: "Reference" +home_url: /reference/ +description: "API Reference packages and classes." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /develop/_project.yaml diff --git a/docs/html/samples/_project.yaml b/docs/html/samples/_project.yaml new file mode 100644 index 000000000000..ede5958cc683 --- /dev/null +++ b/docs/html/samples/_project.yaml @@ -0,0 +1,6 @@ +name: "Samples" +home_url: /samples/ +description: "Welcome to code samples where you can browse sample code and learn how to build different components for your applications." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /develop/_project.yaml diff --git a/docs/html/topic/instant-apps/_project.yaml b/docs/html/topic/instant-apps/_project.yaml new file mode 100644 index 000000000000..e6b8cd95fd69 --- /dev/null +++ b/docs/html/topic/instant-apps/_project.yaml @@ -0,0 +1,6 @@ +name: "Android Instant Apps" +home_url: /topic/instant-apps/ +description: "An evolution in app sharing and discovery, Android Instant Apps enables Android apps to run instantly, without requiring installation." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /develop/_project.yaml diff --git a/docs/html/topic/libraries/_project.yaml b/docs/html/topic/libraries/_project.yaml new file mode 100644 index 000000000000..cdf59e5120ce --- /dev/null +++ b/docs/html/topic/libraries/_project.yaml @@ -0,0 +1,6 @@ +name: "Android Libraries" +home_url: /topic/libraries/ +description: "This section describes several useful Android libraries that are not included with the Android Framework." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /develop/_project.yaml diff --git a/docs/html/topic/performance/_project.yaml b/docs/html/topic/performance/_project.yaml new file mode 100644 index 000000000000..d4202a992b6b --- /dev/null +++ b/docs/html/topic/performance/_project.yaml @@ -0,0 +1,6 @@ +name: "Performance" +home_url: /topic/performance/ +description: "Improve your app's performance by learning how to optimize power consumption, launch times, and other important areas of performance." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /develop/_project.yaml diff --git a/docs/html/training/_project.yaml b/docs/html/training/_project.yaml new file mode 100644 index 000000000000..6aa8760644dc --- /dev/null +++ b/docs/html/training/_project.yaml @@ -0,0 +1,6 @@ +name: "Training" +home_url: /training/ +description: "Android Training provides a collection of classes that aim to help you build great apps for Android." +content_license: cc3-apache2 +buganizer_id: 30209417 +parent_project_metadata_path: /develop/_project.yaml diff --git a/docs/html/wear/_project.yaml b/docs/html/wear/_project.yaml new file mode 100644 index 000000000000..2a9427432791 --- /dev/null +++ b/docs/html/wear/_project.yaml @@ -0,0 +1,5 @@ +name: "Wear" +home_url: /wear/ +description: "Small, powerful devices, worn on the body. Useful information when you need it most." +content_license: cc3-apache2 +buganizer_id: 30209417 diff --git a/docs/html/work/_project.yaml b/docs/html/work/_project.yaml new file mode 100644 index 000000000000..9db0466a3f51 --- /dev/null +++ b/docs/html/work/_project.yaml @@ -0,0 +1,5 @@ +name: "Work" +home_url: /work/ +description: "Develop apps for Android for Work to take advantage of security and management features built into Android." +content_license: cc3-apache2 +buganizer_id: 30209417 diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 1b893270b62b..d8a45387c5bf 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -9425,7 +9425,7 @@ public class WindowManagerService extends IWindowManager.Stub if (task != null && task.mStack.getBoundsAnimating()) { return; } - w.setInsetsChanged(); + w.setReportResizeHints(); boolean configChanged = w.isConfigChanged(); if (DEBUG_CONFIGURATION && configChanged) { Slog.v(TAG_WM, "Win " + w + " config changed: " @@ -9437,11 +9437,11 @@ public class WindowManagerService extends IWindowManager.Stub + ": configChanged=" + configChanged + " dragResizingChanged=" + dragResizingChanged + " last=" + w.mLastFrame + " frame=" + w.mFrame); - w.mLastFrame.set(w.mFrame); if (w.mContentInsetsChanged || w.mVisibleInsetsChanged || winAnimator.mSurfaceResized || w.mOutsetsChanged + || w.mFrameSizeChanged || configChanged || dragResizingChanged || !w.isResizedWhileNotDragResizingReported()) { @@ -9474,6 +9474,7 @@ public class WindowManagerService extends IWindowManager.Stub w.mLastVisibleInsets.set(w.mVisibleInsets); w.mLastStableInsets.set(w.mStableInsets); w.mLastOutsets.set(w.mOutsets); + w.mLastFrame.set(w.mFrame); makeWindowFreezingScreenIfNeededLocked(w); // If the orientation is changing, or we're starting or ending // a drag resizing action, then we need to hold off on unfreezing diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 1ac3d44c7a45..25ad07ef07a7 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -287,6 +287,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { // "Real" frame that the application sees, in display coordinate space. final Rect mFrame = new Rect(); final Rect mLastFrame = new Rect(); + boolean mFrameSizeChanged = false; // Frame that is scaled to the application's coordinate space when in // screen size compatibility mode. final Rect mCompatFrame = new Rect(); @@ -1055,14 +1056,16 @@ final class WindowState implements WindowManagerPolicy.WindowState { return mAppToken != null && mAppToken.voiceInteraction; } - boolean setInsetsChanged() { + boolean setReportResizeHints() { mOverscanInsetsChanged |= !mLastOverscanInsets.equals(mOverscanInsets); mContentInsetsChanged |= !mLastContentInsets.equals(mContentInsets); mVisibleInsetsChanged |= !mLastVisibleInsets.equals(mVisibleInsets); mStableInsetsChanged |= !mLastStableInsets.equals(mStableInsets); mOutsetsChanged |= !mLastOutsets.equals(mOutsets); + mFrameSizeChanged |= (mLastFrame.width() != mFrame.width()) || + (mLastFrame.height() != mFrame.height()); return mOverscanInsetsChanged || mContentInsetsChanged || mVisibleInsetsChanged - || mOutsetsChanged; + || mOutsetsChanged || mFrameSizeChanged; } public DisplayContent getDisplayContent() { @@ -2344,6 +2347,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { mVisibleInsetsChanged = false; mStableInsetsChanged = false; mOutsetsChanged = false; + mFrameSizeChanged = false; mResizedWhileNotDragResizingReported = true; mWinAnimator.mSurfaceResized = false; } catch (RemoteException e) { diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java index e5f972886ccf..0bd5eafa3293 100644 --- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java +++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java @@ -974,7 +974,7 @@ class WindowSurfacePlacer { // windows, since that means "perform layout as normal, // just don't display"). if (!gone || !win.mHaveFrame || win.mLayoutNeeded - || ((win.isConfigChanged() || win.setInsetsChanged()) + || ((win.isConfigChanged() || win.setReportResizeHints()) && !win.isGoneForLayoutLw() && ((win.mAttrs.privateFlags & PRIVATE_FLAG_KEYGUARD) != 0 || (win.mHasSurface && win.mAppToken != null && diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 061037c32635..bdaf0b74e734 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -846,6 +846,12 @@ public class CarrierConfigManager { "allow_merge_wifi_calls_when_vowifi_off_bool"; /** + * Flag indicating whether the carrier supports the Hold command while in an IMS call. + * @hide + */ + public static final String KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL = "allow_hold_in_ims_call"; + + /** * When true, indicates that adding a call is disabled when there is an ongoing video call * or when there is an ongoing call on wifi which was downgraded from video and VoWifi is * turned off. @@ -891,6 +897,7 @@ public class CarrierConfigManager { static { sDefaults = new PersistableBundle(); + sDefaults.putBoolean(KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL, true); sDefaults.putBoolean(KEY_ADDITIONAL_CALL_SETTING_BOOL, true); sDefaults.putBoolean(KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL, false); sDefaults.putBoolean(KEY_ALLOW_LOCAL_DTMF_TONES_BOOL, true); |