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

Commit b4134940 authored by The Android Open Source Project's avatar The Android Open Source Project
Browse files

Merge commit 'goog/cupcake'

parents e1861133 ba9844ee
Loading
Loading
Loading
Loading
+557 B
Loading image diff...
+729 B
Loading image diff...
+1.36 KiB
Loading image diff...
+16 −0
Original line number Diff line number Diff line
@@ -30,11 +30,24 @@
#include <utils/MemoryHeapBase.h>
#include <utils/MemoryBase.h>
#include <media/PVMediaRecorder.h>
#include <utils/String16.h>

#include "MediaRecorderClient.h"

namespace android {

const char* cameraPermission = "android.permission.CAMERA";

static bool checkPermission(const char* permissionString) {
#ifndef HAVE_ANDROID_OS
    return true;
#endif
    if (getpid() == IPCThreadState::self()->getCallingPid()) return true;
    bool ok = checkCallingPermission(String16(permissionString));
    if (!ok) LOGE("Request requires %s", permissionString);
    return ok;
}

status_t MediaRecorderClient::setCamera(const sp<ICamera>& camera)
{
    LOGV("setCamera");
@@ -60,6 +73,9 @@ status_t MediaRecorderClient::setPreviewSurface(const sp<ISurface>& surface)
status_t MediaRecorderClient::setVideoSource(int vs)
{
    LOGV("setVideoSource(%d)", vs);
    if (!checkPermission(cameraPermission)) {
        return PERMISSION_DENIED;
    }
    Mutex::Autolock lock(mLock);
    if (mRecorder == NULL)	{
        LOGE("recorder is not initialized");
+26 −4
Original line number Diff line number Diff line
@@ -89,6 +89,11 @@ public class WifiService extends IWifiManager.Stub {
    private int mPluggedType;

    private final LockList mLocks = new LockList();
    // some wifi lock statistics
    private int mFullLocksAcquired;
    private int mFullLocksReleased;
    private int mScanLocksAcquired;
    private int mScanLocksReleased;

    private final IBatteryStats mBatteryStats;
    
@@ -1731,6 +1736,11 @@ public class WifiService extends IWifiManager.Stub {
            }
        }
        pw.println();
        pw.println("Locks acquired: " + mFullLocksAcquired + " full, " +
                mScanLocksAcquired + " scan");
        pw.println("Locks released: " + mFullLocksReleased + " full, " +
                mScanLocksReleased + " scan");
        pw.println();
        pw.println("Locks held:");
        mLocks.dump(pw);
    }
@@ -1852,8 +1862,14 @@ public class WifiService extends IWifiManager.Stub {
        long ident = Binder.clearCallingIdentity();
        try {
            switch(wifiLock.mLockMode) {
            case (WifiManager.WIFI_MODE_FULL): mBatteryStats.noteFullWifiLockAcquired(uid);
            case (WifiManager.WIFI_MODE_SCAN_ONLY): mBatteryStats.noteScanWifiLockAcquired(uid);
            case WifiManager.WIFI_MODE_FULL:
                ++mFullLocksAcquired;
                mBatteryStats.noteFullWifiLockAcquired(uid);
                break;
            case WifiManager.WIFI_MODE_SCAN_ONLY:
                ++mScanLocksAcquired;
                mBatteryStats.noteScanWifiLockAcquired(uid);
                break;
            }
        } catch (RemoteException e) {
        } finally {
@@ -1882,8 +1898,14 @@ public class WifiService extends IWifiManager.Stub {
            long ident = Binder.clearCallingIdentity();
            try {
                switch(wifiLock.mLockMode) {
                    case (WifiManager.WIFI_MODE_FULL): mBatteryStats.noteFullWifiLockReleased(uid);
                    case (WifiManager.WIFI_MODE_SCAN_ONLY): mBatteryStats.noteScanWifiLockReleased(uid);
                    case WifiManager.WIFI_MODE_FULL:
                        ++mFullLocksReleased;
                        mBatteryStats.noteFullWifiLockReleased(uid);
                        break;
                    case WifiManager.WIFI_MODE_SCAN_ONLY:
                        ++mScanLocksReleased;
                        mBatteryStats.noteScanWifiLockReleased(uid);
                        break;
                }
            } catch (RemoteException e) {
            } finally {
Loading