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

Commit ed204ca2 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 7122074 from a27a7008 to rvc-qpr3-release

Change-Id: I887fe3ef11ca917e18f8c783881a179503a5cda4
parents fa8cb2dd a27a7008
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -334,6 +334,7 @@ void StatsPullerManager::OnAlarmFired(int64_t elapsedTimeNs) {
}
}


int StatsPullerManager::ForceClearPullerCache() {
int StatsPullerManager::ForceClearPullerCache() {
    std::lock_guard<std::mutex> _l(mLock);
    int totalCleared = 0;
    int totalCleared = 0;
    for (const auto& pulledAtom : kAllPullAtomInfo) {
    for (const auto& pulledAtom : kAllPullAtomInfo) {
        totalCleared += pulledAtom.second->ForceClearCache();
        totalCleared += pulledAtom.second->ForceClearCache();
@@ -342,6 +343,7 @@ int StatsPullerManager::ForceClearPullerCache() {
}
}


int StatsPullerManager::ClearPullerCacheIfNecessary(int64_t timestampNs) {
int StatsPullerManager::ClearPullerCacheIfNecessary(int64_t timestampNs) {
    std::lock_guard<std::mutex> _l(mLock);
    int totalCleared = 0;
    int totalCleared = 0;
    for (const auto& pulledAtom : kAllPullAtomInfo) {
    for (const auto& pulledAtom : kAllPullAtomInfo) {
        totalCleared += pulledAtom.second->ClearCacheIfNecessary(timestampNs);
        totalCleared += pulledAtom.second->ClearCacheIfNecessary(timestampNs);
+31 −11
Original line number Original line Diff line number Diff line
package com.android.internal.util;
package com.android.internal.util;


import static android.content.Intent.ACTION_USER_SWITCHED;
import static android.view.WindowManager.ScreenshotSource.SCREENSHOT_OTHER;
import static android.view.WindowManager.ScreenshotSource.SCREENSHOT_OTHER;


import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.ComponentName;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.content.ServiceConnection;
import android.graphics.Insets;
import android.graphics.Insets;
import android.graphics.Rect;
import android.graphics.Rect;
@@ -161,8 +164,21 @@ public class ScreenshotHelper {
    private ServiceConnection mScreenshotConnection = null;
    private ServiceConnection mScreenshotConnection = null;
    private final Context mContext;
    private final Context mContext;


    private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            synchronized (mScreenshotLock) {
                if (ACTION_USER_SWITCHED.equals(intent.getAction())) {
                    resetConnection();
                }
            }
        }
    };

    public ScreenshotHelper(Context context) {
    public ScreenshotHelper(Context context) {
        mContext = context;
        mContext = context;
        IntentFilter filter = new IntentFilter(ACTION_USER_SWITCHED);
        mContext.registerReceiver(mBroadcastReceiver, filter);
    }
    }


    /**
    /**
@@ -279,9 +295,8 @@ public class ScreenshotHelper {
            final Runnable mScreenshotTimeout = () -> {
            final Runnable mScreenshotTimeout = () -> {
                synchronized (mScreenshotLock) {
                synchronized (mScreenshotLock) {
                    if (mScreenshotConnection != null) {
                    if (mScreenshotConnection != null) {
                        mContext.unbindService(mScreenshotConnection);
                        Log.e(TAG, "Timed out before getting screenshot capture response");
                        mScreenshotConnection = null;
                        resetConnection();
                        mScreenshotService = null;
                        notifyScreenshotError();
                        notifyScreenshotError();
                    }
                    }
                }
                }
@@ -304,11 +319,7 @@ public class ScreenshotHelper {
                            break;
                            break;
                        case SCREENSHOT_MSG_PROCESS_COMPLETE:
                        case SCREENSHOT_MSG_PROCESS_COMPLETE:
                            synchronized (mScreenshotLock) {
                            synchronized (mScreenshotLock) {
                                if (mScreenshotConnection != null) {
                                resetConnection();
                                    mContext.unbindService(mScreenshotConnection);
                                    mScreenshotConnection = null;
                                    mScreenshotService = null;
                                }
                            }
                            }
                            break;
                            break;
                    }
                    }
@@ -348,9 +359,7 @@ public class ScreenshotHelper {
                    public void onServiceDisconnected(ComponentName name) {
                    public void onServiceDisconnected(ComponentName name) {
                        synchronized (mScreenshotLock) {
                        synchronized (mScreenshotLock) {
                            if (mScreenshotConnection != null) {
                            if (mScreenshotConnection != null) {
                                mContext.unbindService(mScreenshotConnection);
                                resetConnection();
                                mScreenshotConnection = null;
                                mScreenshotService = null;
                                // only log an error if we're still within the timeout period
                                // only log an error if we're still within the timeout period
                                if (handler.hasCallbacks(mScreenshotTimeout)) {
                                if (handler.hasCallbacks(mScreenshotTimeout)) {
                                    handler.removeCallbacks(mScreenshotTimeout);
                                    handler.removeCallbacks(mScreenshotTimeout);
@@ -382,6 +391,17 @@ public class ScreenshotHelper {
        }
        }
    }
    }


    /**
     * Unbinds the current screenshot connection (if any).
     */
    private void resetConnection() {
        if (mScreenshotConnection != null) {
            mContext.unbindService(mScreenshotConnection);
            mScreenshotConnection = null;
            mScreenshotService = null;
        }
    }

    /**
    /**
     * Notifies the screenshot service to show an error.
     * Notifies the screenshot service to show an error.
     */
     */
+1 −0
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"/>
    <uses-permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"/>
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>


    <application
    <application
        android:allowClearUserData="true"
        android:allowClearUserData="true"
+3 −0
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.companiondevicemanager;
package com.android.companiondevicemanager;


import static android.companion.BluetoothDeviceFilterUtils.getDeviceMacAddress;
import static android.companion.BluetoothDeviceFilterUtils.getDeviceMacAddress;
import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;


import static java.util.Objects.requireNonNull;
import static java.util.Objects.requireNonNull;


@@ -58,6 +59,8 @@ public class DeviceChooserActivity extends Activity {
            Log.e(LOG_TAG, "About to show UI, but no devices to show");
            Log.e(LOG_TAG, "About to show UI, but no devices to show");
        }
        }


        getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);

        if (getService().mRequest.isSingleDevice()) {
        if (getService().mRequest.isSingleDevice()) {
            setContentView(R.layout.device_confirmation);
            setContentView(R.layout.device_confirmation);
            final DeviceFilterPair selectedDevice = getService().mDevicesFound.get(0);
            final DeviceFilterPair selectedDevice = getService().mDevicesFound.get(0);
+3 −3
Original line number Original line Diff line number Diff line
@@ -80,9 +80,9 @@
    <string name="wear_not_allowed_dlg_text" msgid="704615521550939237">"Les accions d\'instal·lar o de desinstal·lar no s\'admeten a Wear."</string>
    <string name="wear_not_allowed_dlg_text" msgid="704615521550939237">"Les accions d\'instal·lar o de desinstal·lar no s\'admeten a Wear."</string>
    <string name="message_staging" msgid="8032722385658438567">"S\'està preparant la instal·lació de l\'aplicació…"</string>
    <string name="message_staging" msgid="8032722385658438567">"S\'està preparant la instal·lació de l\'aplicació…"</string>
    <string name="app_name_unknown" msgid="6881210203354323926">"Desconeguda"</string>
    <string name="app_name_unknown" msgid="6881210203354323926">"Desconeguda"</string>
    <string name="untrusted_external_source_warning" product="tablet" msgid="6539403649459942547">"Per seguretat, la tauleta no pot instal·lar aplicacions desconegudes d\'aquesta font."</string>
    <string name="untrusted_external_source_warning" product="tablet" msgid="6539403649459942547">"Per la teva seguretat, la tauleta no pot instal·lar aplicacions desconegudes d\'aquesta font."</string>
    <string name="untrusted_external_source_warning" product="tv" msgid="1206648674551321364">"Per seguretat, el televisor no pot instal·lar aplicacions desconegudes d\'aquesta font."</string>
    <string name="untrusted_external_source_warning" product="tv" msgid="1206648674551321364">"Per la teva seguretat, el televisor no pot instal·lar aplicacions desconegudes d\'aquesta font."</string>
    <string name="untrusted_external_source_warning" product="default" msgid="7279739265754475165">"Per seguretat, el telèfon no pot instal·lar aplicacions desconegudes d\'aquesta font."</string>
    <string name="untrusted_external_source_warning" product="default" msgid="7279739265754475165">"Per la teva seguretat, el telèfon no pot instal·lar aplicacions desconegudes d\'aquesta font."</string>
    <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"El telèfon i les dades personals són més vulnerables als atacs d\'aplicacions desconegudes. En instal·lar aquesta aplicació, acceptes que ets responsable de qualsevol dany que es produeixi al telèfon o de la pèrdua de dades que pugui resultar del seu ús."</string>
    <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"El telèfon i les dades personals són més vulnerables als atacs d\'aplicacions desconegudes. En instal·lar aquesta aplicació, acceptes que ets responsable de qualsevol dany que es produeixi al telèfon o de la pèrdua de dades que pugui resultar del seu ús."</string>
    <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"La tauleta i les dades personals són més vulnerables als atacs d\'aplicacions desconegudes. En instal·lar aquesta aplicació, acceptes que ets responsable de qualsevol dany que es produeixi a la tauleta o de la pèrdua de dades que pugui resultar del seu ús."</string>
    <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"La tauleta i les dades personals són més vulnerables als atacs d\'aplicacions desconegudes. En instal·lar aquesta aplicació, acceptes que ets responsable de qualsevol dany que es produeixi a la tauleta o de la pèrdua de dades que pugui resultar del seu ús."</string>
    <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"El televisor i les dades personals són més vulnerables als atacs d\'aplicacions desconegudes. En instal·lar aquesta aplicació, acceptes que ets responsable de qualsevol dany que es produeixi al televisor o de la pèrdua de dades que pugui resultar del seu ús."</string>
    <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"El televisor i les dades personals són més vulnerables als atacs d\'aplicacions desconegudes. En instal·lar aquesta aplicació, acceptes que ets responsable de qualsevol dany que es produeixi al televisor o de la pèrdua de dades que pugui resultar del seu ús."</string>
Loading