Loading libs/permission/AppOpsManager.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,14 @@ void AppOpsManager::startWatchingMode(int32_t op, const String16& packageName, } } void AppOpsManager::startWatchingMode(int32_t op, const String16& packageName, int32_t flags, const sp<IAppOpsCallback>& callback) { sp<IAppOpsService> service = getService(); if (service != nullptr) { service->startWatchingModeWithFlags(op, packageName, flags, callback); } } void AppOpsManager::stopWatchingMode(const sp<IAppOpsCallback>& callback) { sp<IAppOpsService> service = getService(); if (service != nullptr) { Loading libs/permission/IAppOpsService.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -166,6 +166,17 @@ public: } return reply.readBool(); } virtual void startWatchingModeWithFlags(int32_t op, const String16& packageName, int32_t flags, const sp<IAppOpsCallback>& callback) { Parcel data, reply; data.writeInterfaceToken(IAppOpsService::getInterfaceDescriptor()); data.writeInt32(op); data.writeString16(packageName); data.writeInt32(flags); data.writeStrongBinder(IInterface::asBinder(callback)); remote()->transact(START_WATCHING_MODE_WITH_FLAGS_TRANSACTION, data, &reply); } }; IMPLEMENT_META_INTERFACE(AppOpsService, "com.android.internal.app.IAppOpsService") Loading libs/permission/include/binder/AppOpsManager.h +6 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,10 @@ public: _NUM_OP = 117 }; enum { WATCH_FOREGROUND_CHANGES = 1 << 0 }; AppOpsManager(); int32_t checkOp(int32_t op, int32_t uid, const String16& callingPackage); Loading @@ -174,6 +178,8 @@ public: const std::optional<String16>& attributionTag); void startWatchingMode(int32_t op, const String16& packageName, const sp<IAppOpsCallback>& callback); void startWatchingMode(int32_t op, const String16& packageName, int32_t flags, const sp<IAppOpsCallback>& callback); void stopWatchingMode(const sp<IAppOpsCallback>& callback); int32_t permissionToOpCode(const String16& permission); void setCameraAudioRestriction(int32_t mode); Loading libs/permission/include/binder/IAppOpsService.h +3 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,8 @@ public: const String16& packageName) = 0; virtual void setCameraAudioRestriction(int32_t mode) = 0; virtual bool shouldCollectNotes(int32_t opCode) = 0; virtual void startWatchingModeWithFlags(int32_t op, const String16& packageName, int32_t flags, const sp<IAppOpsCallback>& callback) = 0; enum { CHECK_OPERATION_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION, Loading @@ -64,6 +66,7 @@ public: CHECK_AUDIO_OPERATION_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION+7, SHOULD_COLLECT_NOTES_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION+8, SET_CAMERA_AUDIO_RESTRICTION_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION+9, START_WATCHING_MODE_WITH_FLAGS_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION+10, }; enum { Loading Loading
libs/permission/AppOpsManager.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,14 @@ void AppOpsManager::startWatchingMode(int32_t op, const String16& packageName, } } void AppOpsManager::startWatchingMode(int32_t op, const String16& packageName, int32_t flags, const sp<IAppOpsCallback>& callback) { sp<IAppOpsService> service = getService(); if (service != nullptr) { service->startWatchingModeWithFlags(op, packageName, flags, callback); } } void AppOpsManager::stopWatchingMode(const sp<IAppOpsCallback>& callback) { sp<IAppOpsService> service = getService(); if (service != nullptr) { Loading
libs/permission/IAppOpsService.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -166,6 +166,17 @@ public: } return reply.readBool(); } virtual void startWatchingModeWithFlags(int32_t op, const String16& packageName, int32_t flags, const sp<IAppOpsCallback>& callback) { Parcel data, reply; data.writeInterfaceToken(IAppOpsService::getInterfaceDescriptor()); data.writeInt32(op); data.writeString16(packageName); data.writeInt32(flags); data.writeStrongBinder(IInterface::asBinder(callback)); remote()->transact(START_WATCHING_MODE_WITH_FLAGS_TRANSACTION, data, &reply); } }; IMPLEMENT_META_INTERFACE(AppOpsService, "com.android.internal.app.IAppOpsService") Loading
libs/permission/include/binder/AppOpsManager.h +6 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,10 @@ public: _NUM_OP = 117 }; enum { WATCH_FOREGROUND_CHANGES = 1 << 0 }; AppOpsManager(); int32_t checkOp(int32_t op, int32_t uid, const String16& callingPackage); Loading @@ -174,6 +178,8 @@ public: const std::optional<String16>& attributionTag); void startWatchingMode(int32_t op, const String16& packageName, const sp<IAppOpsCallback>& callback); void startWatchingMode(int32_t op, const String16& packageName, int32_t flags, const sp<IAppOpsCallback>& callback); void stopWatchingMode(const sp<IAppOpsCallback>& callback); int32_t permissionToOpCode(const String16& permission); void setCameraAudioRestriction(int32_t mode); Loading
libs/permission/include/binder/IAppOpsService.h +3 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,8 @@ public: const String16& packageName) = 0; virtual void setCameraAudioRestriction(int32_t mode) = 0; virtual bool shouldCollectNotes(int32_t opCode) = 0; virtual void startWatchingModeWithFlags(int32_t op, const String16& packageName, int32_t flags, const sp<IAppOpsCallback>& callback) = 0; enum { CHECK_OPERATION_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION, Loading @@ -64,6 +66,7 @@ public: CHECK_AUDIO_OPERATION_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION+7, SHOULD_COLLECT_NOTES_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION+8, SET_CAMERA_AUDIO_RESTRICTION_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION+9, START_WATCHING_MODE_WITH_FLAGS_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION+10, }; enum { Loading