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

Commit c1ea4df1 authored by Diego Vela's avatar Diego Vela Committed by Automerger Merge Worker
Browse files

Merge "Downgrade Window JetPack" into rvc-dev am: ada8355b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11618862

Change-Id: I9477bf968e857dc67bbd5b72e9aed95525b1eb58
parents 039a951f ada8355b
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -13,26 +13,26 @@
// limitations under the License.

android_library_import {
    name: "window-extensions",
    aars: ["window-extensions-release.aar"],
    name: "window-sidecar",
    aars: ["window-sidecar-release.aar"],
    sdk_version: "current",
}

java_library {
    name: "androidx.window.extensions",
    name: "androidx.window.sidecar",
    srcs: ["src/**/*.java"],
    static_libs: ["window-extensions"],
    static_libs: ["window-sidecar"],
    installable: true,
    sdk_version: "core_platform",
    vendor: true,
    libs: ["framework", "androidx.annotation_annotation",],
    required: ["androidx.window.extensions.xml",],
    required: ["androidx.window.sidecar.xml",],
}

prebuilt_etc {
    name: "androidx.window.extensions.xml",
    name: "androidx.window.sidecar.xml",
    vendor: true,
    sub_dir: "permissions",
    src: "androidx.window.extensions.xml",
    src: "androidx.window.sidecar.xml",
    filename_from_src: true,
}
+0 −21
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright 2020 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.
  -->
<permissions>
    <library
        name="androidx.window.extensions"
        file="/vendor/framework/androidx.window.extensions.jar"/>
</permissions>
+21 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2020 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.
  -->
<permissions>
    <library
        name="androidx.window.sidecar"
        file="/vendor/framework/androidx.window.sidecar.jar"/>
</permissions>
+27 −22
Original line number Diff line number Diff line
/*
 * Copyright 2020 The Android Open Source Project
 * Copyright (C) 2020 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.
@@ -14,14 +14,14 @@
 * limitations under the License.
 */

package androidx.window.extensions;
package androidx.window.sidecar;

import static android.view.Display.DEFAULT_DISPLAY;

import static androidx.window.extensions.ExtensionHelper.getWindowDisplay;
import static androidx.window.extensions.ExtensionHelper.isInMultiWindow;
import static androidx.window.extensions.ExtensionHelper.rotateRectToDisplayRotation;
import static androidx.window.extensions.ExtensionHelper.transformToWindowSpaceRect;
import static androidx.window.sidecar.SidecarHelper.getWindowDisplay;
import static androidx.window.sidecar.SidecarHelper.isInMultiWindow;
import static androidx.window.sidecar.SidecarHelper.rotateRectToDisplayRotation;
import static androidx.window.sidecar.SidecarHelper.transformToWindowSpaceRect;

import android.content.ContentResolver;
import android.content.Context;
@@ -42,8 +42,8 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class SettingsExtensionImpl extends StubExtension {
    private static final String TAG = "SettingsExtension";
class SettingsSidecarImpl extends StubSidecar {
    private static final String TAG = "SettingsSidecar";

    private static final String DEVICE_POSTURE = "device_posture";
    private static final String DISPLAY_FEATURES = "display_features";
@@ -106,7 +106,7 @@ class SettingsExtensionImpl extends StubExtension {
        }
    }

    SettingsExtensionImpl(Context context) {
    SettingsSidecarImpl(Context context) {
        mContext = context;
        mSettingsObserver = new SettingsObserver();
    }
@@ -118,29 +118,33 @@ class SettingsExtensionImpl extends StubExtension {
    /** Update display features with values read from settings. */
    private void updateDisplayFeatures() {
        for (IBinder windowToken : getWindowsListeningForLayoutChanges()) {
            ExtensionWindowLayoutInfo newLayout = getWindowLayoutInfo(windowToken);
            SidecarWindowLayoutInfo newLayout = getWindowLayoutInfo(windowToken);
            updateWindowLayout(windowToken, newLayout);
        }
    }

    @NonNull
    @Override
    public ExtensionDeviceState getDeviceState() {
    public SidecarDeviceState getDeviceState() {
        ContentResolver resolver = mContext.getContentResolver();
        int posture = Settings.Global.getInt(resolver, DEVICE_POSTURE,
                ExtensionDeviceState.POSTURE_UNKNOWN);
        return new ExtensionDeviceState(posture);
                SidecarDeviceState.POSTURE_UNKNOWN);
        SidecarDeviceState deviceState = new SidecarDeviceState();
        deviceState.posture = posture;
        return deviceState;
    }

    @NonNull
    @Override
    public ExtensionWindowLayoutInfo getWindowLayoutInfo(@NonNull IBinder windowToken) {
        List<ExtensionDisplayFeature> displayFeatures = readDisplayFeatures(windowToken);
        return new ExtensionWindowLayoutInfo(displayFeatures);
    public SidecarWindowLayoutInfo getWindowLayoutInfo(@NonNull IBinder windowToken) {
        List<SidecarDisplayFeature> displayFeatures = readDisplayFeatures(windowToken);
        SidecarWindowLayoutInfo windowLayoutInfo = new SidecarWindowLayoutInfo();
        windowLayoutInfo.displayFeatures = displayFeatures;
        return windowLayoutInfo;
    }

    private List<ExtensionDisplayFeature> readDisplayFeatures(IBinder windowToken) {
        List<ExtensionDisplayFeature> features = new ArrayList<ExtensionDisplayFeature>();
    private List<SidecarDisplayFeature> readDisplayFeatures(IBinder windowToken) {
        List<SidecarDisplayFeature> features = new ArrayList<SidecarDisplayFeature>();
        int displayId = getWindowDisplay(windowToken);
        if (displayId != DEFAULT_DISPLAY) {
            Log.w(TAG, "This sample doesn't support display features on secondary displays");
@@ -170,10 +174,10 @@ class SettingsExtensionImpl extends StubExtension {
                int type;
                switch (featureType) {
                    case FEATURE_TYPE_FOLD:
                        type = ExtensionDisplayFeature.TYPE_FOLD;
                        type = SidecarDisplayFeature.TYPE_FOLD;
                        break;
                    case FEATURE_TYPE_HINGE:
                        type = ExtensionDisplayFeature.TYPE_HINGE;
                        type = SidecarDisplayFeature.TYPE_HINGE;
                        break;
                    default: {
                        Log.e(TAG, "Malformed feature type: " + featureType);
@@ -189,8 +193,9 @@ class SettingsExtensionImpl extends StubExtension {
                rotateRectToDisplayRotation(featureRect, displayId);
                transformToWindowSpaceRect(featureRect, windowToken);
                if (!featureRect.isEmpty()) {
                    ExtensionDisplayFeature feature =
                            new ExtensionDisplayFeature(featureRect, type);
                    SidecarDisplayFeature feature = new SidecarDisplayFeature();
                    feature.setRect(featureRect);
                    feature.setType(type);
                    features.add(feature);
                } else {
                    Log.w(TAG, "Failed to adjust feature to window");
+3 −8
Original line number Diff line number Diff line
/*
 * Copyright 2020 The Android Open Source Project
 * Copyright (C) 2020 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.
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package androidx.window.extensions;
package androidx.window.sidecar;

import static android.view.Display.INVALID_DISPLAY;
import static android.view.Surface.ROTATION_0;
@@ -32,12 +32,7 @@ import android.view.Surface;

import androidx.annotation.Nullable;

/**
 * Toolkit class for calculation of the display feature bounds within the window.
 * NOTE: This sample implementation only works for Activity windows, because there is no public APIs
 * to obtain layout params or bounds for arbitrary windows.
 */
class ExtensionHelper {
class SidecarHelper {
    /**
     * Rotate the input rectangle specified in default display orientation to the current display
     * rotation.
Loading