oplus-fwk: Cleanup
This commit is contained in:
@@ -1,84 +0,0 @@
|
||||
package android.app;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.os.Handler;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
//import com.oplus.multiapp.BaseOplusMultiAppManager;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class OplusExSystemServiceHelper {
|
||||
private static final String ATHENA_SYSTEM_SERVICE_CLASSNAME = "com.oplus.athena.systemservice.OplusAthenaSystemService";
|
||||
public static final String COREAPPFEATURE_SYSTEM_SERVICE_CLASSNAME = "com.oplus.customize.coreapp.service.OplusCoreAppFeatureService";
|
||||
public static final String EX_SYSTEM_SERVICE_CLASSNAME = "com.oplus.exsystemservice.OplusSharedSystemService";
|
||||
public static final String EX_SYSTEM_SERVICE_PKGNAME = "com.oplus.exsystemservice";
|
||||
private static final String TAG = OplusExSystemServiceHelper.class.getSimpleName();
|
||||
private static volatile OplusExSystemServiceHelper sIntance;
|
||||
|
||||
public static OplusExSystemServiceHelper getInstance() {
|
||||
if (sIntance == null) {
|
||||
synchronized (OplusExSystemServiceHelper.class) {
|
||||
if (sIntance == null) {
|
||||
sIntance = new OplusExSystemServiceHelper();
|
||||
}
|
||||
}
|
||||
}
|
||||
return sIntance;
|
||||
}
|
||||
|
||||
public boolean checkOplusExSystemService(boolean systemThread, String className) {
|
||||
if (TextUtils.isEmpty(className)) {
|
||||
Log.w(TAG, "checkOplusExSystemService className is null or empty str");
|
||||
return false;
|
||||
} else if (!systemThread) {
|
||||
return false;
|
||||
} else {
|
||||
try {
|
||||
if (!EX_SYSTEM_SERVICE_CLASSNAME.equals(className) && !COREAPPFEATURE_SYSTEM_SERVICE_CLASSNAME.equals(className)) {
|
||||
if (!ATHENA_SYSTEM_SERVICE_CLASSNAME.equals(className)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "checkOplusExSystemService e = " + e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean checkOplusExSystemService(boolean systemThread, Intent intent) {
|
||||
if (intent == null) {
|
||||
Log.w(TAG, "checkOplusExSystemService intent is null");
|
||||
return false;
|
||||
} else if (intent.getComponent() == null) {
|
||||
Log.w(TAG, "checkOplusExSystemService intent getComponent is null");
|
||||
return false;
|
||||
} else {
|
||||
return checkOplusExSystemService(systemThread, intent.getComponent().getClassName());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean checkOplusExSystemService(Handler handler, String className) {
|
||||
return checkOplusExSystemService(true, className);
|
||||
}
|
||||
|
||||
public ComponentName getComponentName() {
|
||||
return new ComponentName(EX_SYSTEM_SERVICE_PKGNAME, EX_SYSTEM_SERVICE_CLASSNAME);
|
||||
}
|
||||
/*
|
||||
public void ensureMediaProviderPriority(Handler activityThread, ComponentName name, Runnable runConnection) {
|
||||
if (name.getClassName().contains(BaseOplusMultiAppManager.MEDIA_PROVIDER_PACKAGE_NAME)) {
|
||||
Log.i(TAG, "connected :" + name.getClassName());
|
||||
}
|
||||
if (checkOplusExSystemService(activityThread, name.getClassName())) {
|
||||
runConnection.run();
|
||||
} else if (name.getClassName().contains(BaseOplusMultiAppManager.MEDIA_PROVIDER_PACKAGE_NAME)) {
|
||||
activityThread.postAtFrontOfQueue(runConnection);
|
||||
} else {
|
||||
activityThread.post(runConnection);
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
@@ -8,8 +8,8 @@ public class OplusWhiteListManager {
|
||||
|
||||
public OplusWhiteListManager(Context context) {}
|
||||
|
||||
public ArrayList<String> getStageProtectListFromPkg(String pkg, int type) {
|
||||
return new ArrayList<String>();
|
||||
public ArrayList<String> getStageProtectListFromPkg(String calledPkg, int type) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
public void addStageProtectInfo(String pkg, long timeout) {}
|
||||
|
||||
@@ -2,7 +2,7 @@ package android.bluetooth;
|
||||
|
||||
public class OplusBluetoothAdapter {
|
||||
|
||||
private static OplusBluetoothAdapter sAdapter;
|
||||
private static OplusBluetoothAdapter sAdapter = null;
|
||||
|
||||
public static OplusBluetoothAdapter getOplusBluetoothAdapter() {
|
||||
if (sAdapter == null) {
|
||||
|
||||
@@ -4,9 +4,7 @@ import oplus.content.res.OplusExtraConfiguration;
|
||||
|
||||
public abstract class OplusBaseConfiguration {
|
||||
|
||||
public OplusExtraConfiguration mOplusExtraConfiguration = null;
|
||||
|
||||
public OplusExtraConfiguration getOplusExtraConfiguration() {
|
||||
return mOplusExtraConfiguration;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,195 +0,0 @@
|
||||
package android.hardware;
|
||||
|
||||
import android.os.Binder;
|
||||
import android.os.IBinder;
|
||||
import android.os.IInterface;
|
||||
import android.os.Parcel;
|
||||
import android.os.RemoteException;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public interface IAONHECallbacks extends IInterface {
|
||||
public static final String DESCRIPTOR = "android.hardware.IAONHECallbacks";
|
||||
public static final int ERROR_AON_DISABLED = 2;
|
||||
public static final int ERROR_AON_FORCE_CLOSE = 3;
|
||||
public static final int ERROR_AON_IN_CLOSED = 0;
|
||||
public static final int ERROR_AON_IN_USE = 1;
|
||||
public static final int ERROR_AON_NO_INDEX = -1;
|
||||
|
||||
void onClosed() throws RemoteException;
|
||||
|
||||
void onError(int i) throws RemoteException;
|
||||
|
||||
void onHEDetected() throws RemoteException;
|
||||
|
||||
void onOpened() throws RemoteException;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public static class Default implements IAONHECallbacks {
|
||||
@Override // android.hardware.IAONHECallbacks
|
||||
public void onOpened() throws RemoteException {
|
||||
}
|
||||
|
||||
@Override // android.hardware.IAONHECallbacks
|
||||
public void onClosed() throws RemoteException {
|
||||
}
|
||||
|
||||
@Override // android.hardware.IAONHECallbacks
|
||||
public void onError(int errorCode) throws RemoteException {
|
||||
}
|
||||
|
||||
@Override // android.hardware.IAONHECallbacks
|
||||
public void onHEDetected() throws RemoteException {
|
||||
}
|
||||
|
||||
@Override // android.os.IInterface
|
||||
public IBinder asBinder() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public static abstract class Stub extends Binder implements IAONHECallbacks {
|
||||
static final int TRANSACTION_onClosed = 2;
|
||||
static final int TRANSACTION_onError = 3;
|
||||
static final int TRANSACTION_onHEDetected = 4;
|
||||
static final int TRANSACTION_onOpened = 1;
|
||||
|
||||
public Stub() {
|
||||
attachInterface(this, IAONHECallbacks.DESCRIPTOR);
|
||||
}
|
||||
|
||||
public static IAONHECallbacks asInterface(IBinder obj) {
|
||||
if (obj == null) {
|
||||
return null;
|
||||
}
|
||||
IInterface iin = obj.queryLocalInterface(IAONHECallbacks.DESCRIPTOR);
|
||||
if (iin != null && (iin instanceof IAONHECallbacks)) {
|
||||
return (IAONHECallbacks) iin;
|
||||
}
|
||||
return new Proxy(obj);
|
||||
}
|
||||
|
||||
@Override // android.os.IInterface
|
||||
public IBinder asBinder() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public static String getDefaultTransactionName(int transactionCode) {
|
||||
switch (transactionCode) {
|
||||
case 1:
|
||||
return "onOpened";
|
||||
case 2:
|
||||
return "onClosed";
|
||||
case 3:
|
||||
return "onError";
|
||||
case 4:
|
||||
return "onHEDetected";
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public String getTransactionName(int transactionCode) {
|
||||
return getDefaultTransactionName(transactionCode);
|
||||
}
|
||||
|
||||
@Override // android.os.Binder
|
||||
public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException {
|
||||
if (code >= 1 && code <= 16777215) {
|
||||
data.enforceInterface(IAONHECallbacks.DESCRIPTOR);
|
||||
}
|
||||
switch (code) {
|
||||
case 1598968902:
|
||||
reply.writeString(IAONHECallbacks.DESCRIPTOR);
|
||||
return true;
|
||||
default:
|
||||
switch (code) {
|
||||
case 1:
|
||||
onOpened();
|
||||
break;
|
||||
case 2:
|
||||
onClosed();
|
||||
break;
|
||||
case 3:
|
||||
int _arg0 = data.readInt();
|
||||
data.enforceNoDataAvail();
|
||||
onError(_arg0);
|
||||
break;
|
||||
case 4:
|
||||
onHEDetected();
|
||||
break;
|
||||
default:
|
||||
return super.onTransact(code, data, reply, flags);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
private static class Proxy implements IAONHECallbacks {
|
||||
private IBinder mRemote;
|
||||
|
||||
Proxy(IBinder remote) {
|
||||
this.mRemote = remote;
|
||||
}
|
||||
|
||||
@Override // android.os.IInterface
|
||||
public IBinder asBinder() {
|
||||
return this.mRemote;
|
||||
}
|
||||
|
||||
public String getInterfaceDescriptor() {
|
||||
return IAONHECallbacks.DESCRIPTOR;
|
||||
}
|
||||
|
||||
@Override // android.hardware.IAONHECallbacks
|
||||
public void onOpened() throws RemoteException {
|
||||
Parcel _data = Parcel.obtain(asBinder());
|
||||
try {
|
||||
_data.writeInterfaceToken(IAONHECallbacks.DESCRIPTOR);
|
||||
this.mRemote.transact(1, _data, null, 1);
|
||||
} finally {
|
||||
_data.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.IAONHECallbacks
|
||||
public void onClosed() throws RemoteException {
|
||||
Parcel _data = Parcel.obtain(asBinder());
|
||||
try {
|
||||
_data.writeInterfaceToken(IAONHECallbacks.DESCRIPTOR);
|
||||
this.mRemote.transact(2, _data, null, 1);
|
||||
} finally {
|
||||
_data.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.IAONHECallbacks
|
||||
public void onError(int errorCode) throws RemoteException {
|
||||
Parcel _data = Parcel.obtain(asBinder());
|
||||
try {
|
||||
_data.writeInterfaceToken(IAONHECallbacks.DESCRIPTOR);
|
||||
_data.writeInt(errorCode);
|
||||
this.mRemote.transact(3, _data, null, 1);
|
||||
} finally {
|
||||
_data.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.IAONHECallbacks
|
||||
public void onHEDetected() throws RemoteException {
|
||||
Parcel _data = Parcel.obtain(asBinder());
|
||||
try {
|
||||
_data.writeInterfaceToken(IAONHECallbacks.DESCRIPTOR);
|
||||
this.mRemote.transact(4, _data, null, 1);
|
||||
} finally {
|
||||
_data.recycle();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int getMaxTransactionId() {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
package android.hardware.camera2;
|
||||
|
||||
import android.common.IOplusCommonFeature;
|
||||
import android.common.OplusFeatureList;
|
||||
import android.content.Context;
|
||||
import android.os.IBinder;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public interface IOplusCameraManager extends IOplusCommonFeature {
|
||||
public static final IOplusCameraManager DEFAULT = new IOplusCameraManager() { // from class: android.hardware.camera2.IOplusCameraManager.1
|
||||
};
|
||||
public static final String NAME = "IOplusCameraManager";
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public enum Cmd {
|
||||
CMD_NONE,
|
||||
CMD_PRE_CAPTURE,
|
||||
CMD_PRE_OPEN,
|
||||
CMD_PRE_EVLIST
|
||||
}
|
||||
|
||||
//default OplusFeatureList.OplusIndex index() {
|
||||
// return OplusFeatureList.OplusIndex.IOplusCameraManager;
|
||||
//}
|
||||
|
||||
default IOplusCommonFeature getDefault() {
|
||||
return DEFAULT;
|
||||
}
|
||||
|
||||
default void addAuthResultInfo(Context context, int uid, int pid, int permBits, String packageName) {
|
||||
}
|
||||
|
||||
default void setDeathRecipient(IBinder client) {
|
||||
}
|
||||
|
||||
default boolean isAuthedClient(Context context) {
|
||||
return false;
|
||||
}
|
||||
|
||||
default void preOpenCamera(Context context) {
|
||||
}
|
||||
|
||||
default void sendOplusExtCamCmd(Context context, Cmd cmd, int[] param) {
|
||||
}
|
||||
|
||||
default void setCallInfo() {
|
||||
}
|
||||
|
||||
default void saveOpPackageName(String packageName) {
|
||||
}
|
||||
|
||||
default void setPackageName() {
|
||||
}
|
||||
|
||||
default boolean isPrivilegedApp(String packageName) {
|
||||
return false;
|
||||
}
|
||||
|
||||
default boolean isCameraUnitSession() {
|
||||
return false;
|
||||
}
|
||||
|
||||
default void parseSessionParameters(CaptureRequest sessionParams) {
|
||||
}
|
||||
}
|
||||
@@ -1,490 +1,105 @@
|
||||
package android.hardware.camera2;
|
||||
|
||||
import android.app.OplusExSystemServiceHelper;
|
||||
import android.content.Context;
|
||||
import android.hardware.IAONHECallbacks;
|
||||
import android.hardware.camera2.CaptureRequest;
|
||||
import android.hardware.camera2.IOplusCameraManager;
|
||||
import android.hardware.camera2.impl.CameraMetadataNative;
|
||||
import android.media.Image;
|
||||
import android.media.ImageReader;
|
||||
import android.os.Binder;
|
||||
import android.os.IBinder;
|
||||
import android.os.Parcel;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.os.SystemProperties;
|
||||
import android.util.Log;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class OplusCameraManager implements IOplusCameraManager {
|
||||
private static final String PERMISSION_SAFE_CAMERA = "com.oplus.permission.safe.CAMERA";
|
||||
private static final String TAG = "OplusCameraManager";
|
||||
private static final String SYSTEM_CAMERA_PACKNAME = SystemProperties.get("ro.oplus.system.camera.name");
|
||||
private static final CaptureRequest.Key<byte[]> KEY_OPLUS_PACKAGE = new CaptureRequest.Key<>("com.oplus.is.sdk.camera.package", byte[].class);
|
||||
private static OplusCameraManager mInstance = new OplusCameraManager();
|
||||
private static String[] SET_PACKAGE_BLACK_LIST = {"com.oplus.battery", "com.oplus.onetrace", "com.android.systemui", "com.oplus.obrain", OplusExSystemServiceHelper.EX_SYSTEM_SERVICE_PKGNAME};
|
||||
private String mOpPackageName = "";
|
||||
private boolean mIsCameraUnitSession = false;
|
||||
private boolean mbLoad = false;
|
||||
public class OplusCameraManager {
|
||||
|
||||
public native int nativeSendToAttachHWBufToBufQEvent(long j);
|
||||
private static OplusCameraManager sOplusCameraManager = null;
|
||||
|
||||
public native int nativeSendToBufQAllocEnableEvent(long j);
|
||||
|
||||
public native int nativeSendToExchgHWBufBtwBufQEvent(long j);
|
||||
|
||||
public native void nativtSendToProcessHeif(long j);
|
||||
|
||||
private OplusCameraManager() {
|
||||
public static OplusCameraManager getInstance() {
|
||||
if (sOplusCameraManager == null) {
|
||||
sOplusCameraManager = new OplusCameraManager();
|
||||
}
|
||||
return sOplusCameraManager;
|
||||
}
|
||||
|
||||
private void checkLoadLibrary() {
|
||||
Log.i(TAG, "checkLoadHeifLibbrary, mbLoad: " + this.mbLoad);
|
||||
if (this.mbLoad) {
|
||||
return;
|
||||
public void preOpenCamera(Context context) {
|
||||
if (context == null) {
|
||||
throw new IllegalArgumentException("context was null");
|
||||
}
|
||||
try {
|
||||
System.loadLibrary("HeifWinBufExchg-jni");
|
||||
this.mbLoad = true;
|
||||
} catch (Exception e) {
|
||||
OplusCameraManagerGlobal.get().preOpenCamera(context.getOpPackageName());
|
||||
} catch (CameraAccessException | RemoteException e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "checkLoadHeifLibbrary, error");
|
||||
}
|
||||
}
|
||||
|
||||
public void sendToProcessHeif(long ptr) {
|
||||
checkLoadLibrary();
|
||||
nativtSendToProcessHeif(ptr);
|
||||
}
|
||||
|
||||
public int sendToBufQAllocEnableEvent(long ptr) {
|
||||
checkLoadLibrary();
|
||||
return nativeSendToBufQAllocEnableEvent(ptr);
|
||||
}
|
||||
|
||||
public int sendToExchgHWBufBtwBufQEvent(long ptr) {
|
||||
checkLoadLibrary();
|
||||
return nativeSendToExchgHWBufBtwBufQEvent(ptr);
|
||||
}
|
||||
|
||||
public int sendToAttachHWBufToBufQEvent(long ptr) {
|
||||
checkLoadLibrary();
|
||||
return nativeSendToAttachHWBufToBufQEvent(ptr);
|
||||
}
|
||||
|
||||
public static synchronized OplusCameraManager getInstance() {
|
||||
OplusCameraManager oplusCameraManager;
|
||||
synchronized (OplusCameraManager.class) {
|
||||
oplusCameraManager = mInstance;
|
||||
}
|
||||
return oplusCameraManager;
|
||||
}
|
||||
|
||||
public static Object getEmptyCameraMetadataNative(long[] metadataPtr) {
|
||||
CameraMetadataNative meta = new CameraMetadataNative();
|
||||
if (metadataPtr != null && metadataPtr.length > 0) {
|
||||
metadataPtr[0] = meta.getMetadataPtr();
|
||||
}
|
||||
return meta;
|
||||
}
|
||||
|
||||
public static TotalCaptureResult generateTotalCaptureResult(Object meta, long frameId) {
|
||||
if (meta == null || !(meta instanceof CameraMetadataNative)) {
|
||||
return null;
|
||||
}
|
||||
TotalCaptureResult r = new TotalCaptureResult((CameraMetadataNative) meta, 0);
|
||||
public void setCallInfo() {
|
||||
try {
|
||||
Field numField = CaptureResult.class.getDeclaredField("mFrameNumber");
|
||||
numField.setAccessible(true);
|
||||
numField.setLong(r, frameId);
|
||||
} catch (IllegalAccessException | NoSuchFieldException e) {
|
||||
OplusCameraManagerGlobal.get().setCallInfo();
|
||||
} catch (CameraAccessException | RemoteException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public void addAuthResultInfo(Context context, int uid, int pid, int permBits, String packageName) {
|
||||
context.enforceCallingOrSelfPermission(PERMISSION_SAFE_CAMERA, TAG);
|
||||
if (uid == 0) {
|
||||
throw new IllegalArgumentException("uid was 0, which is illegal.");
|
||||
}
|
||||
if (pid == 0) {
|
||||
throw new IllegalArgumentException("pid was 0, which is illegal.");
|
||||
}
|
||||
if (packageName == null) {
|
||||
throw new IllegalArgumentException("packageName was null, which is illegal.");
|
||||
}
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().addAuthResultInfo(uid, pid, permBits, packageName);
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public void setDeathRecipient(IBinder client) {
|
||||
if (client == null) {
|
||||
throw new IllegalArgumentException("client was null");
|
||||
}
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().setDeathRecipient(client);
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public boolean isAuthedClient(Context context) {
|
||||
if (context == null) {
|
||||
throw new IllegalArgumentException("context was null");
|
||||
}
|
||||
try {
|
||||
return OplusCameraManagerGlobal.get().isAuthedClient(context.getOpPackageName());
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public void preOpenCamera(Context context) {
|
||||
if (context == null) {
|
||||
throw new IllegalArgumentException("context was null");
|
||||
}
|
||||
context.enforceCallingOrSelfPermission(PERMISSION_SAFE_CAMERA, TAG);
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().preOpenCamera(context.getOpPackageName());
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public void sendOplusExtCamCmd(Context context, IOplusCameraManager.Cmd cmd, int[] param) {
|
||||
if (context == null) {
|
||||
throw new IllegalArgumentException("context was null");
|
||||
}
|
||||
context.enforceCallingOrSelfPermission(PERMISSION_SAFE_CAMERA, TAG);
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().sendOplusExtCamCmd(context.getOpPackageName(), cmd, param);
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public void setCallInfo() {
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().setCallInfo();
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public void saveOpPackageName(String packageName) {
|
||||
this.mOpPackageName = packageName;
|
||||
Log.i(TAG, "saveOpPackageName, mOpPackageName: " + this.mOpPackageName);
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public void setPackageName() {
|
||||
String[] strArr;
|
||||
for (String packageName : SET_PACKAGE_BLACK_LIST) {
|
||||
if (packageName.equals(this.mOpPackageName)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().setClientInfo(this.mOpPackageName, Binder.getCallingUid(), Binder.getCallingPid());
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setRIOClientInfo() throws CameraAccessException {
|
||||
Log.i(TAG, "uid = " + Binder.getCallingUid() + ", pid = " + Binder.getCallingPid());
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().setRIOClientInfo(Binder.getCallingUid(), Binder.getCallingPid());
|
||||
} catch (RemoteException e) {
|
||||
} catch (CameraAccessException | RemoteException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public boolean isPrivilegedApp(String packageName) {
|
||||
String str;
|
||||
if (packageName == null || (str = SYSTEM_CAMERA_PACKNAME) == null || !str.equals(packageName)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
private static final class OplusCameraManagerGlobal implements IBinder.DeathRecipient {
|
||||
|
||||
public void setTorchIntensity(int torchIntensity) {
|
||||
if (torchIntensity < 0) {
|
||||
throw new IllegalArgumentException("torchIntensity was less than 0, which is illegal.");
|
||||
}
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().setTorchIntensity(torchIntensity);
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void disconnectClients() {
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().disconnectClients();
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isClientConnected() {
|
||||
try {
|
||||
return OplusCameraManagerGlobal.get().isClientConnected();
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public boolean isCameraUnitSession() {
|
||||
return this.mIsCameraUnitSession;
|
||||
}
|
||||
|
||||
@Override // android.hardware.camera2.IOplusCameraManager
|
||||
public void parseSessionParameters(CaptureRequest sessionParams) {
|
||||
if (sessionParams == null) {
|
||||
setIsCameraUnitSession(false);
|
||||
return;
|
||||
}
|
||||
byte[] result = (byte[]) sessionParams.get(KEY_OPLUS_PACKAGE);
|
||||
if (result == null || result.length == 0) {
|
||||
setIsCameraUnitSession(false);
|
||||
return;
|
||||
}
|
||||
if (1 == result[0]) {
|
||||
setIsCameraUnitSession(true);
|
||||
}
|
||||
Log.i(TAG, "parseSessionParameters mIsCameraUnitSession: " + this.mIsCameraUnitSession);
|
||||
}
|
||||
|
||||
public void oplusDetachImage(Image image, ImageReader imgreader) {
|
||||
try {
|
||||
Method method = ImageReader.class.getDeclaredMethod("detachImage", Image.class);
|
||||
method.setAccessible(true);
|
||||
method.invoke(imgreader, image);
|
||||
} catch (IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Log.i(TAG, "using reflection to visit detachImage method in ImageReader");
|
||||
}
|
||||
|
||||
public static void setOmojiJson(String jsonInfo) {
|
||||
Log.i(TAG, "setOmojiJson called.");
|
||||
if (jsonInfo == null || "".equals(jsonInfo)) {
|
||||
Log.i(TAG, "jsonInfo is null");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().setOmojiJson(jsonInfo);
|
||||
} catch (CameraAccessException e) {
|
||||
Log.i(TAG, "setOmojiJson :" + e.getMessage());
|
||||
} catch (RemoteException e2) {
|
||||
Log.i(TAG, "setOmojiJson :" + e2.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void closeAON() throws CameraAccessException {
|
||||
Log.i(TAG, "uid = " + Binder.getCallingUid() + ", pid = " + Binder.getCallingPid());
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().closeAON();
|
||||
} catch (RemoteException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void openAON(IAONHECallbacks callback) throws CameraAccessException {
|
||||
Log.i(TAG, "uid = " + Binder.getCallingUid() + ", pid = " + Binder.getCallingPid());
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().openAON(callback);
|
||||
} catch (RemoteException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void setIsCameraUnitSession(boolean isCameraUnitSession) {
|
||||
this.mIsCameraUnitSession = isCameraUnitSession;
|
||||
try {
|
||||
OplusCameraManagerGlobal.get().setIsCameraUnitSession(this.mIsCameraUnitSession);
|
||||
} catch (CameraAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (RemoteException e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
/* loaded from: classes.dex */
|
||||
public static final class OplusCameraManagerGlobal implements IBinder.DeathRecipient {
|
||||
private static final int ADD_AUTH_RESULT = 10001;
|
||||
private static final String CAMERA_SERVICE_BINDER_NAME = "media.camera";
|
||||
private static final int CLIENT_IS_AUTHED = 10004;
|
||||
private static final int CLOSE_AON = 10013;
|
||||
private static final int CONNECT_STATUS = 10011;
|
||||
private static final String DESCRIPTOR = "android.hardware.camera";
|
||||
private static final int DISCONNECT_CLIENTS = 10009;
|
||||
private static final int OPEN_AON = 10012;
|
||||
private static final int OPLUS_CAMERA_FIRST_CALL_TRANSACTION = 10000;
|
||||
private static final int PRE_OPEN_CAMERA = 10014;
|
||||
private static final int SEND_OPLUS_EXT_CAM_CMD = 10015;
|
||||
private static final int SET_CALL_INFO = 10006;
|
||||
private static final int SET_CLIENT_INFO = 10005;
|
||||
private static final int SET_DEATH_RECIPIENT = 10002;
|
||||
private static final int SET_IS_CAMERA_UNIT_SESSION = 10016;
|
||||
private static final int SET_OMOJI_JSON = 10010;
|
||||
private static final int SET_PACKAGE_NAME = 10003;
|
||||
private static final int SET_RIO_CLIENT_INFO = 10007;
|
||||
private static final int SET_TORCH_INTENSITY = 10008;
|
||||
private static final String TAG = "OplusCameraManagerGlobal";
|
||||
private static final OplusCameraManagerGlobal gCameraManager = new OplusCameraManagerGlobal();
|
||||
public static final boolean sCameraServiceDisabled = SystemProperties.getBoolean("config.disable_cameraservice", false);
|
||||
private final boolean DEBUG = false;
|
||||
|
||||
private static final String CAMERA_SERVICE_BINDER_NAME = "media.camera";
|
||||
private static final String DESCRIPTOR = "android.hardware.media";
|
||||
|
||||
private static final int SET_DEATH_RECIPIENT = 10002;
|
||||
private static final int SET_CALL_INFO = 10006;
|
||||
private static final int PRE_OPEN_CAMERA = 10012;
|
||||
|
||||
private static final OplusCameraManagerGlobal gOplusCameraManagerGlobal =
|
||||
new OplusCameraManagerGlobal();
|
||||
|
||||
private static final boolean sCameraServiceDisabled =
|
||||
SystemProperties.getBoolean("config.disable_cameraservice", false);
|
||||
|
||||
private final Object mLock = new Object();
|
||||
|
||||
private IBinder mRemote = null;
|
||||
|
||||
private OplusCameraManagerGlobal() {
|
||||
}
|
||||
|
||||
public static OplusCameraManagerGlobal get() {
|
||||
return gCameraManager;
|
||||
return gOplusCameraManagerGlobal;
|
||||
}
|
||||
|
||||
private void connectCameraServiceLocked() {
|
||||
if (this.mRemote != null || sCameraServiceDisabled) {
|
||||
return;
|
||||
}
|
||||
Log.i(TAG, "Connecting to camera service");
|
||||
IBinder service = ServiceManager.getService(CAMERA_SERVICE_BINDER_NAME);
|
||||
this.mRemote = service;
|
||||
if (service == null) {
|
||||
if (mRemote != null || sCameraServiceDisabled) {
|
||||
return;
|
||||
}
|
||||
mRemote = ServiceManager.getService(CAMERA_SERVICE_BINDER_NAME);
|
||||
if (mRemote != null) {
|
||||
try {
|
||||
service.linkToDeath(this, 0);
|
||||
mRemote.linkToDeath(this, 0);
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "link to death failed");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public IBinder getCameraServiceRemote() {
|
||||
IBinder iBinder;
|
||||
synchronized (this.mLock) {
|
||||
synchronized (mLock) {
|
||||
connectCameraServiceLocked();
|
||||
if (this.mRemote == null && !sCameraServiceDisabled) {
|
||||
if (mRemote == null && !sCameraServiceDisabled) {
|
||||
Log.e(TAG, "Camera service is unavailable");
|
||||
}
|
||||
iBinder = this.mRemote;
|
||||
}
|
||||
return iBinder;
|
||||
}
|
||||
|
||||
public void addAuthResultInfo(int uid, int pid, int permBits, String packageName) throws CameraAccessException, RemoteException {
|
||||
Log.e(TAG, "addAuthResultInfo");
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeInt(uid);
|
||||
data.writeInt(pid);
|
||||
data.writeInt(permBits);
|
||||
data.writeString(packageName);
|
||||
this.mRemote.transact(10001, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
public void setDeathRecipient(IBinder client) throws CameraAccessException, RemoteException {
|
||||
Log.e(TAG, "setDeathRecipient");
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeStrongBinder(client);
|
||||
this.mRemote.transact(10002, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isAuthedClient(String packageName) throws CameraAccessException, RemoteException {
|
||||
Log.e(TAG, "isAuthedClient, need check packageName: " + packageName);
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeString(packageName);
|
||||
this.mRemote.transact(10004, data, reply, 0);
|
||||
reply.readException();
|
||||
boolean isAuthed = reply.readBoolean();
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
Log.e(TAG, "isAuthedClient, the " + packageName + " is Authed " + isAuthed);
|
||||
return isAuthed;
|
||||
} catch (Throwable th) {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
throw th;
|
||||
}
|
||||
return mRemote;
|
||||
}
|
||||
|
||||
public void preOpenCamera(String packageName) throws CameraAccessException, RemoteException {
|
||||
Log.e(TAG, "preOpenCamera, need check packageName: " + packageName);
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
final IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
@@ -493,35 +108,11 @@ public final class OplusCameraManager implements IOplusCameraManager {
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeInt(1);
|
||||
this.mRemote.transact(10014, data, reply, 0);
|
||||
mRemote.transact(PRE_OPEN_CAMERA, data, reply, 0);
|
||||
reply.readException();
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
Log.e(TAG, "preOpenCamera, the " + packageName + " preOpenSend ");
|
||||
} catch (Throwable th) {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
public void sendOplusExtCamCmd(String packageName, IOplusCameraManager.Cmd cmd, int[] param) throws CameraAccessException, RemoteException {
|
||||
Log.e(TAG, "sendOplusExtCamCmd, packageName: " + packageName + ", cmd: " + cmd);
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeInt(cmd.ordinal());
|
||||
data.writeIntArray(param);
|
||||
this.mRemote.transact(10015, data, reply, 1);
|
||||
reply.readException();
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
Log.e(TAG, "sendOplusExtCamCmd complete ");
|
||||
Log.i(TAG, "preOpenCamera, the " + packageName + " preOpenSend");
|
||||
} catch (Throwable th) {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
@@ -530,8 +121,7 @@ public final class OplusCameraManager implements IOplusCameraManager {
|
||||
}
|
||||
|
||||
public void setCallInfo() throws CameraAccessException, RemoteException {
|
||||
Log.e(TAG, "setCallInfo");
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
final IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
@@ -539,7 +129,7 @@ public final class OplusCameraManager implements IOplusCameraManager {
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
this.mRemote.transact(10006, data, reply, 0);
|
||||
mRemote.transact(SET_CALL_INFO, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
@@ -547,9 +137,8 @@ public final class OplusCameraManager implements IOplusCameraManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void setPackageName(String packageName) throws CameraAccessException, RemoteException {
|
||||
Log.i(TAG, "setPackageName");
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
public void setDeathRecipient(IBinder client) throws CameraAccessException, RemoteException {
|
||||
final IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
@@ -557,8 +146,8 @@ public final class OplusCameraManager implements IOplusCameraManager {
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeString(packageName);
|
||||
remote.transact(10003, data, reply, 0);
|
||||
data.writeStrongBinder(client);
|
||||
mRemote.transact(SET_DEATH_RECIPIENT, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
@@ -566,192 +155,9 @@ public final class OplusCameraManager implements IOplusCameraManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void setClientInfo(String packageName, int uid, int pid) throws CameraAccessException, RemoteException {
|
||||
Log.i(TAG, "setClientInfo, packageName: " + packageName + ", uid: " + uid + ", pid: " + pid);
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeString(packageName);
|
||||
data.writeInt(uid);
|
||||
data.writeInt(pid);
|
||||
remote.transact(10005, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
public void setRIOClientInfo(int uid, int pid) throws CameraAccessException, RemoteException {
|
||||
Log.i(TAG, "uid: " + uid + ", pid: " + pid);
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeInt(uid);
|
||||
data.writeInt(pid);
|
||||
remote.transact(10007, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
public void setOmojiJson(String atavatarInfo) throws CameraAccessException, RemoteException {
|
||||
Log.i(TAG, "setOmojiJson E");
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeString(atavatarInfo);
|
||||
Log.i(TAG, "setOmojiJson process E");
|
||||
this.mRemote.transact(10010, data, reply, 0);
|
||||
Log.i(TAG, "setOmojiJson process X");
|
||||
reply.readException();
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
Log.i(TAG, "setOmojiJson X");
|
||||
} catch (Throwable th) {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
public void setTorchIntensity(int torchIntensity) throws CameraAccessException, RemoteException {
|
||||
Log.d(TAG, "setTorchIntensity: " + torchIntensity);
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeInt(torchIntensity);
|
||||
remote.transact(10008, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
public void disconnectClients() throws CameraAccessException, RemoteException {
|
||||
Log.e(TAG, "disconnectClients");
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
this.mRemote.transact(10009, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isClientConnected() throws CameraAccessException, RemoteException {
|
||||
Log.e(TAG, "isClientConnected");
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
this.mRemote.transact(10011, data, reply, 0);
|
||||
reply.readException();
|
||||
boolean isConnected = reply.readBoolean();
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
Log.e(TAG, "isClientConnected: " + isConnected);
|
||||
return isConnected;
|
||||
} catch (Throwable th) {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
public void openAON(IAONHECallbacks callback) throws CameraAccessException, RemoteException {
|
||||
Log.i(TAG, "openAON E");
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeStrongBinder(callback.asBinder());
|
||||
remote.transact(10012, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
public void closeAON() throws CameraAccessException, RemoteException {
|
||||
Log.i(TAG, "closeAON E");
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
remote.transact(10013, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
public void setIsCameraUnitSession(boolean isCameraUnitSession) throws CameraAccessException, RemoteException {
|
||||
Log.i(TAG, "setIsCameraUnitSession E");
|
||||
IBinder remote = getCameraServiceRemote();
|
||||
if (remote == null) {
|
||||
throw new CameraAccessException(2, "Camera service is currently unavailable");
|
||||
}
|
||||
Parcel data = Parcel.obtain();
|
||||
Parcel reply = Parcel.obtain();
|
||||
try {
|
||||
data.writeInterfaceToken(DESCRIPTOR);
|
||||
data.writeBoolean(isCameraUnitSession);
|
||||
remote.transact(10016, data, reply, 0);
|
||||
reply.readException();
|
||||
} finally {
|
||||
data.recycle();
|
||||
reply.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.os.IBinder.DeathRecipient
|
||||
@Override
|
||||
public void binderDied() {
|
||||
this.mRemote = null;
|
||||
mRemote = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,6 @@ package android.view;
|
||||
public class OplusWindowManager {
|
||||
|
||||
public OplusWindowManager() {}
|
||||
|
||||
public void requestKeyguard(String command) {}
|
||||
}
|
||||
|
||||
@@ -1,61 +1,29 @@
|
||||
package android.view.animation;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
public class OplusBezierInterpolator extends BaseInterpolator {
|
||||
private final float ABOVE_ONE;
|
||||
private final float ABOVE_ZERO;
|
||||
private final float BELOW_ONE;
|
||||
private final boolean DEBUG;
|
||||
private final double EPSILON;
|
||||
private final String TAG;
|
||||
private boolean mAbove;
|
||||
private boolean mLimit;
|
||||
|
||||
private static final float ABOVE_ZERO = 0.0001f;
|
||||
private static final float BELOW_ONE = 0.9999f;
|
||||
|
||||
private static final double ABOVE_ONE = 1.0d;
|
||||
private static final double EPSILON = 0.0000625d;
|
||||
|
||||
private OplusUnitBezier mOplusUnitBezier;
|
||||
|
||||
public OplusBezierInterpolator(Context context, AttributeSet attrs) {
|
||||
this(context.getResources(), context.getTheme(), attrs);
|
||||
}
|
||||
|
||||
public OplusBezierInterpolator(Resources res, Resources.Theme theme, AttributeSet attrs) {
|
||||
this.TAG = "OplusBezierInterpolator";
|
||||
this.DEBUG = false;
|
||||
this.EPSILON = 6.25E-5d;
|
||||
this.ABOVE_ONE = 1.0f;
|
||||
this.BELOW_ONE = 0.9999f;
|
||||
this.ABOVE_ZERO = 1.0E-4f;
|
||||
this.mAbove = false;
|
||||
this.mLimit = false;
|
||||
}
|
||||
private boolean mLimit;
|
||||
|
||||
public OplusBezierInterpolator(double p1x, double p1y, double p2x, double p2y, boolean limit) {
|
||||
this.TAG = "OplusBezierInterpolator";
|
||||
this.DEBUG = false;
|
||||
this.EPSILON = 6.25E-5d;
|
||||
this.ABOVE_ONE = 1.0f;
|
||||
this.BELOW_ONE = 0.9999f;
|
||||
this.ABOVE_ZERO = 1.0E-4f;
|
||||
this.mAbove = false;
|
||||
this.mLimit = false;
|
||||
this.mLimit = limit;
|
||||
this.mOplusUnitBezier = new OplusUnitBezier(p1x, p1y, p2x, p2y);
|
||||
mLimit = limit;
|
||||
mOplusUnitBezier = new OplusUnitBezier(p1x, p1y, p2x, p2y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getInterpolation(float input) {
|
||||
double interpolation = this.mOplusUnitBezier.solve(input, 6.25E-5d);
|
||||
if (this.mLimit) {
|
||||
if (input < 1.0E-4f || input > 0.9999f) {
|
||||
this.mAbove = false;
|
||||
}
|
||||
if (interpolation > 1.0d && !this.mAbove) {
|
||||
interpolation = 1.0d;
|
||||
this.mAbove = true;
|
||||
}
|
||||
if (this.mAbove) {
|
||||
interpolation = 1.0d;
|
||||
double interpolation = mOplusUnitBezier.solve(input, EPSILON);
|
||||
if (mLimit) {
|
||||
final boolean above = input >= ABOVE_ZERO && input <= BELOW_ONE;
|
||||
if (interpolation > ABOVE_ONE && !above) {
|
||||
interpolation = ABOVE_ONE;
|
||||
}
|
||||
}
|
||||
return (float) interpolation;
|
||||
|
||||
@@ -2,73 +2,74 @@ package android.view.animation;
|
||||
|
||||
public class OplusUnitBezier {
|
||||
|
||||
private double f5ax;
|
||||
private double f6ay;
|
||||
private double f7bx;
|
||||
private double f8by;
|
||||
private double f9cx;
|
||||
private double f10cy;
|
||||
private double ax;
|
||||
private double ay;
|
||||
private double bx;
|
||||
private double by;
|
||||
private double cx;
|
||||
private double cy;
|
||||
|
||||
public OplusUnitBezier(double p1x, double p1y, double p2x, double p2y) {
|
||||
double d = p1x * 3.0d;
|
||||
this.f9cx = d;
|
||||
double d2 = ((p2x - p1x) * 3.0d) - d;
|
||||
this.f7bx = d2;
|
||||
this.f5ax = (1.0d - d) - d2;
|
||||
double d3 = p1y * 3.0d;
|
||||
this.f10cy = d3;
|
||||
double d4 = ((p2y - p1y) * 3.0d) - d3;
|
||||
this.f8by = d4;
|
||||
this.f6ay = (1.0d - d3) - d4;
|
||||
final double d = p1x * 3.0d;
|
||||
final double d2 = (p2x - p1x) * 3.0d - d;
|
||||
final double d3 = p1y * 3.0d;
|
||||
final double d4 = (p2y - p1y) * 3.0d - d3;
|
||||
|
||||
ax = (1.0d - d) - d2;
|
||||
ay = (1.0d - d3) - d4;
|
||||
bx = d2;
|
||||
by = d4;
|
||||
cx = d;
|
||||
cy = d3;
|
||||
}
|
||||
|
||||
public double sampleCurveX(double t) {
|
||||
return ((((this.f5ax * t) + this.f7bx) * t) + this.f9cx) * t;
|
||||
return ((ax * t + bx) * t + cx) * t;
|
||||
}
|
||||
|
||||
public double sampleCurveY(double t) {
|
||||
return ((((this.f6ay * t) + this.f8by) * t) + this.f10cy) * t;
|
||||
return ((ay * t + by) * t + cy) * t;
|
||||
}
|
||||
|
||||
public double sampleCurveDerivativeX(double t) {
|
||||
return (((this.f5ax * 3.0d * t) + (this.f7bx * 2.0d)) * t) + this.f9cx;
|
||||
return (ax * 3.0d * t + bx * 2.0d) * t + cx;
|
||||
}
|
||||
|
||||
public double solveCurveX(double x, double epsilon) {
|
||||
double t2 = x;
|
||||
double t = x;
|
||||
for (int i = 0; i < 8; i++) {
|
||||
double x2 = sampleCurveX(t2) - x;
|
||||
double x2 = sampleCurveX(t) - x;
|
||||
if (Math.abs(x2) < epsilon) {
|
||||
return t2;
|
||||
return t;
|
||||
}
|
||||
double d2 = sampleCurveDerivativeX(t2);
|
||||
if (Math.abs(d2) < 1.0E-6d) {
|
||||
double d2 = sampleCurveDerivativeX(t);
|
||||
if (Math.abs(d2) < 0.000001d) {
|
||||
break;
|
||||
}
|
||||
t2 -= x2 / d2;
|
||||
t -= x2 / d2;
|
||||
}
|
||||
double t0 = 0.0d;
|
||||
double t1 = 1.0d;
|
||||
double t22 = x;
|
||||
if (t22 < 0.0d) {
|
||||
double t2 = x;
|
||||
if (t2 < 0.0d) {
|
||||
return 0.0d;
|
||||
}
|
||||
if (t22 > 1.0d) {
|
||||
if (t2 > 1.0d) {
|
||||
return 1.0d;
|
||||
}
|
||||
while (t0 < t1) {
|
||||
double x22 = sampleCurveX(t22);
|
||||
if (Math.abs(x22 - x) < epsilon) {
|
||||
return t22;
|
||||
double x2 = sampleCurveX(t2);
|
||||
if (Math.abs(x2 - x) < epsilon) {
|
||||
return t2;
|
||||
}
|
||||
if (x > x22) {
|
||||
t0 = t22;
|
||||
if (x > x2) {
|
||||
t0 = t2;
|
||||
} else {
|
||||
t1 = t22;
|
||||
t1 = t2;
|
||||
}
|
||||
t22 = ((t1 - t0) * 0.5d) + t0;
|
||||
t2 = (t1 - t0) * 0.5d + t0;
|
||||
}
|
||||
return t22;
|
||||
return t2;
|
||||
}
|
||||
|
||||
public double solve(double x, double epsilon) {
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
package com.oplus.content;
|
||||
|
||||
import android.os.SystemProperties;
|
||||
import android.text.TextUtils;
|
||||
|
||||
public class OplusFeatureConfigManager {
|
||||
|
||||
public static OplusFeatureConfigManager sOplusFeatureConfigManager = null;
|
||||
@@ -13,8 +16,16 @@ public class OplusFeatureConfigManager {
|
||||
|
||||
public boolean hasFeature(String name) {
|
||||
if ("oplus.software.vibrator_lmvibrator".equals(name)) {
|
||||
// OnePlus 7/8 series use old OnePlus base camera. Don't let this feature break haptic feedback.
|
||||
if (useOnePlusBaseCamera()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean useOnePlusBaseCamera() {
|
||||
return !TextUtils.isEmpty(SystemProperties.get("ro.oplus.version.base"));
|
||||
}
|
||||
}
|
||||
|
||||
38
oplus-fwk/src/com/oplus/flexiblewindow/FlexibleTaskView.java
Normal file
38
oplus-fwk/src/com/oplus/flexiblewindow/FlexibleTaskView.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package com.oplus.flexiblewindow;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Region;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.SurfaceView;
|
||||
|
||||
public class FlexibleTaskView extends SurfaceView {
|
||||
|
||||
public FlexibleTaskView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public FlexibleTaskView(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public FlexibleTaskView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
this(context, attrs, defStyleAttr, 0);
|
||||
}
|
||||
|
||||
public FlexibleTaskView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes, true);
|
||||
}
|
||||
|
||||
public interface Listener {
|
||||
default void onInitialized(boolean isStartSuccess) {}
|
||||
default void onReleased() {}
|
||||
default void onTaskCreated(int taskId, ComponentName name) {}
|
||||
default void onTaskChanged(int taskId, ComponentName name, Rect rect) {}
|
||||
default void onTaskVisbilityChanged(int taskId, boolean visible) {}
|
||||
default void onTaskRemovalStarted(int taskId) {}
|
||||
default void onBackPressedOnTaskRoot(int taskId) {}
|
||||
default void updateTouchRegion(Region region) {}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.oplus.os;
|
||||
|
||||
public class OplusBuild {
|
||||
|
||||
public static final int OplusOS_11_3 = 22;
|
||||
|
||||
public static int getOplusOSVERSION() {
|
||||
@@ -9,7 +10,9 @@ public class OplusBuild {
|
||||
|
||||
public static class VERSION {
|
||||
public static final String RELEASE = "unknown";
|
||||
|
||||
public static final int SDK_VERSION = getOplusOSVERSION();
|
||||
public static final int SDK_SUB_VERSION = 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class OplusUsbEnvironment extends Environment {
|
||||
|
||||
public static String getExternalSdState(Context context) {
|
||||
String path;
|
||||
final StorageManager sm = (StorageManager) context.getSystemService("storage");
|
||||
final StorageManager sm = context.getSystemService(StorageManager.class);
|
||||
synchronized (sLock) {
|
||||
update(context);
|
||||
path = sExternalSdDir;
|
||||
@@ -58,6 +58,7 @@ public class OplusUsbEnvironment extends Environment {
|
||||
return sm.getVolumeState(path);
|
||||
}
|
||||
|
||||
|
||||
public static String getExternalPath(Context context) {
|
||||
String path;
|
||||
synchronized (sLock) {
|
||||
@@ -81,7 +82,7 @@ public class OplusUsbEnvironment extends Environment {
|
||||
|
||||
public static String getInternalSdState(Context context) {
|
||||
String path;
|
||||
final StorageManager sm = (StorageManager) context.getSystemService("storage");
|
||||
final StorageManager sm = context.getSystemService(StorageManager.class);
|
||||
synchronized (sLock) {
|
||||
update(context);
|
||||
path = sInternalSdDir;
|
||||
@@ -92,6 +93,7 @@ public class OplusUsbEnvironment extends Environment {
|
||||
return sm.getVolumeState(path);
|
||||
}
|
||||
|
||||
|
||||
public static String getInternalPath(Context context) {
|
||||
String path;
|
||||
synchronized (sLock) {
|
||||
@@ -147,7 +149,7 @@ public class OplusUsbEnvironment extends Environment {
|
||||
synchronized (sLock) {
|
||||
update(context);
|
||||
}
|
||||
final StorageManager sm = (StorageManager) context.getSystemService("storage");
|
||||
final StorageManager sm = context.getSystemService(StorageManager.class);
|
||||
if (path == null || sm == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2,19 +2,12 @@ package com.oplus.osense;
|
||||
|
||||
public class OsenseResEventClient {
|
||||
|
||||
private static volatile OsenseResEventClient sInstance;
|
||||
|
||||
private OsenseResEventClient() {
|
||||
}
|
||||
private static OsenseResEventClient sInstance;
|
||||
|
||||
public static OsenseResEventClient getInstance() {
|
||||
if (sInstance == null) {
|
||||
synchronized (OsenseResEventClient.class) {
|
||||
if (sInstance == null) {
|
||||
sInstance = new OsenseResEventClient();
|
||||
}
|
||||
}
|
||||
}
|
||||
return sInstance;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,21 +3,18 @@ package com.oplus.osense.eventinfo;
|
||||
import android.os.Binder;
|
||||
import android.os.IBinder;
|
||||
import android.os.IInterface;
|
||||
import android.os.Parcel;
|
||||
import android.os.RemoteException;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public interface IOsenseEventCallback extends IInterface {
|
||||
|
||||
public static class Default implements IOsenseEventCallback {
|
||||
@Override // android.os.IInterface
|
||||
@Override
|
||||
public IBinder asBinder() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static abstract class Stub extends Binder implements IOsenseEventCallback {
|
||||
@Override // android.os.IInterface
|
||||
@Override
|
||||
public IBinder asBinder() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -3,5 +3,4 @@ package com.oplus.osense.eventinfo;
|
||||
import com.oplus.osense.eventinfo.IOsenseEventCallback;
|
||||
|
||||
public class OsenseEventCallback extends IOsenseEventCallback.Stub {
|
||||
|
||||
}
|
||||
|
||||
@@ -11,6 +11,5 @@ public class OplusUIFirstManager {
|
||||
return sOplusUIFirstManager;
|
||||
}
|
||||
|
||||
public void setUxThreadValue(int pid, int tid, String value) {
|
||||
}
|
||||
public void setUxThreadValue(int pid, int tid, String value) {}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,12 @@ import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.Uri;
|
||||
|
||||
public class OplusNetworkUtils {
|
||||
public class OplusNetworkUtil {
|
||||
|
||||
private static final String DEFAULT_HTTP_URI = "http://connectivitycheck.gstatic.com/generate_204";
|
||||
|
||||
public static boolean isWifiConnected(Context context) {
|
||||
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
final ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
|
||||
if (cm != null) {
|
||||
return cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState()
|
||||
== NetworkInfo.State.CONNECTED;
|
||||
@@ -20,7 +20,7 @@ public class OplusNetworkUtils {
|
||||
}
|
||||
|
||||
public static boolean isMobileDataConnected(Context context) {
|
||||
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
final ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
|
||||
if (cm != null) {
|
||||
return cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState()
|
||||
== NetworkInfo.State.CONNECTED;
|
||||
@@ -29,7 +29,7 @@ public class OplusNetworkUtils {
|
||||
}
|
||||
|
||||
public static void onClickLoginBtn(Context context) {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(DEFAULT_HTTP_URI));
|
||||
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(DEFAULT_HTTP_URI));
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
@@ -3,15 +3,16 @@ package com.oplus.wrapper.os;
|
||||
import android.os.IBinder;
|
||||
|
||||
public class ServiceManager {
|
||||
public static void addService(String paramString, IBinder paramIBinder) {
|
||||
android.os.ServiceManager.addService(paramString, paramIBinder);
|
||||
|
||||
public static IBinder checkService(String name) {
|
||||
return android.os.ServiceManager.checkService(name);
|
||||
}
|
||||
|
||||
public static IBinder checkService(String paramString) {
|
||||
return android.os.ServiceManager.checkService(paramString);
|
||||
public static IBinder getService(String name) {
|
||||
return android.os.ServiceManager.getService(name);
|
||||
}
|
||||
|
||||
public static IBinder getService(String paramString) {
|
||||
return android.os.ServiceManager.getService(paramString);
|
||||
public static void addService(String name, IBinder token) {
|
||||
android.os.ServiceManager.addService(name, token);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,160 +1,86 @@
|
||||
package com.oplus.wrapper.view;
|
||||
|
||||
import android.app.IAssistDataReceiver;
|
||||
import android.content.ComponentName;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Point;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Region;
|
||||
import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
import android.os.IInterface;
|
||||
import android.os.IRemoteCallback;
|
||||
import android.os.RemoteException;
|
||||
import android.view.IAppTransitionAnimationSpecsFuture;
|
||||
import android.view.ICrossWindowBlurEnabledListener;
|
||||
import android.view.IDisplayChangeWindowController;
|
||||
import android.view.IDisplayFoldListener;
|
||||
import android.view.IDisplayWindowInsetsController;
|
||||
import android.view.IDisplayWindowListener;
|
||||
import android.view.IOnKeyguardExitResult;
|
||||
import android.view.IPinnedTaskListener;
|
||||
import android.view.IRotationWatcher;
|
||||
import android.view.IScrollCaptureResponseListener;
|
||||
import android.view.ISystemGestureExclusionListener;
|
||||
import android.view.IWallpaperVisibilityListener;
|
||||
import android.view.IWindow;
|
||||
import android.view.IWindowSession;
|
||||
import android.view.IWindowSessionCallback;
|
||||
import android.view.InputChannel;
|
||||
import android.view.InsetsState;
|
||||
import android.view.TaskTransitionSpec;
|
||||
import android.view.WindowContentFrameStats;
|
||||
import android.view.displayhash.DisplayHash;
|
||||
import android.view.displayhash.VerifiedDisplayHash;
|
||||
import android.window.AddToSurfaceSyncGroupResult;
|
||||
import android.window.ISurfaceSyncGroupCompletedListener;
|
||||
import android.window.ITaskFpsCallback;
|
||||
import android.window.ScreenCapture;
|
||||
import com.android.internal.os.IResultReceiver;
|
||||
import com.android.internal.policy.IKeyguardDismissCallback;
|
||||
import com.android.internal.policy.IKeyguardLockedStateListener;
|
||||
import com.android.internal.policy.IShortcutService;
|
||||
import com.oplus.wrapper.view.IWindowManager;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.function.Function;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public interface IWindowManager {
|
||||
int getBaseDisplayDensity(int i) throws RemoteException;
|
||||
|
||||
void getBaseDisplaySize(int i, Point point) throws RemoteException;
|
||||
|
||||
int getDockedStackSide() throws RemoteException;
|
||||
int getInitialDisplayDensity(int displayId) throws RemoteException;
|
||||
boolean hasNavigationBar(int displayId) throws RemoteException;
|
||||
int watchRotation(IRotationWatcher watcher, int displayId) throws RemoteException;
|
||||
void removeRotationWatcher(IRotationWatcher watcher) throws RemoteException;
|
||||
void setForcedDisplayDensityForUser(int displayId, int density, int userId) throws RemoteException;
|
||||
int getBaseDisplayDensity(int displayId) throws RemoteException;
|
||||
void getBaseDisplaySize(int displayId, Point size) throws RemoteException;
|
||||
|
||||
int getInitialDisplayDensity(int i) throws RemoteException;
|
||||
public static abstract class Stub implements IInterface, android.view.IWindowManager {
|
||||
|
||||
boolean hasNavigationBar(int i) throws RemoteException;
|
||||
|
||||
void removeRotationWatcher(IRotationWatcher iRotationWatcher) throws RemoteException;
|
||||
|
||||
void setForcedDisplayDensityForUser(int i, int i2, int i3) throws RemoteException;
|
||||
|
||||
int watchRotation(IRotationWatcher iRotationWatcher, int i) throws RemoteException;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public static abstract class Stub implements android.os.IInterface, android.view.IWindowManager {
|
||||
private final android.view.IWindowManager mIWindowManager;
|
||||
|
||||
public Stub(android.view.IWindowManager windowManager) {
|
||||
this.mIWindowManager = windowManager;
|
||||
mIWindowManager = windowManager;
|
||||
}
|
||||
|
||||
public static IWindowManager asInterface(IBinder obj) {
|
||||
return new Proxy(android.view.IWindowManager.Stub.asInterface(obj));
|
||||
}
|
||||
|
||||
@Override // android.os.IInterface
|
||||
@Override
|
||||
public IBinder asBinder() {
|
||||
return this.mIWindowManager.asBinder();
|
||||
return mIWindowManager.asBinder();
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
/* loaded from: classes.dex */
|
||||
public static class Proxy implements IWindowManager {
|
||||
private static Map<IRotationWatcher, android.view.IRotationWatcher> sRotationWatcherMap = new ConcurrentHashMap();
|
||||
|
||||
private final android.view.IWindowManager mIWindowManager;
|
||||
|
||||
Proxy(android.view.IWindowManager iWindowManager) {
|
||||
this.mIWindowManager = iWindowManager;
|
||||
Proxy(android.view.IWindowManager windowManager) {
|
||||
mIWindowManager = windowManager;
|
||||
}
|
||||
|
||||
@Override // com.oplus.wrapper.view.IWindowManager
|
||||
@Override
|
||||
public int getDockedStackSide() throws RemoteException {
|
||||
return this.mIWindowManager.getDockedStackSide();
|
||||
return mIWindowManager.getDockedStackSide();
|
||||
}
|
||||
|
||||
@Override // com.oplus.wrapper.view.IWindowManager
|
||||
@Override
|
||||
public int getInitialDisplayDensity(int displayId) throws RemoteException {
|
||||
return this.mIWindowManager.getInitialDisplayDensity(displayId);
|
||||
return mIWindowManager.getInitialDisplayDensity(displayId);
|
||||
}
|
||||
|
||||
@Override // com.oplus.wrapper.view.IWindowManager
|
||||
@Override
|
||||
public boolean hasNavigationBar(int displayId) throws RemoteException {
|
||||
return this.mIWindowManager.hasNavigationBar(displayId);
|
||||
return mIWindowManager.hasNavigationBar(displayId);
|
||||
}
|
||||
|
||||
@Override // com.oplus.wrapper.view.IWindowManager
|
||||
@Override
|
||||
public int watchRotation(IRotationWatcher watcher, int displayId) throws RemoteException {
|
||||
android.view.IRotationWatcher rotationWatcher = sRotationWatcherMap.computeIfAbsent(watcher, new Function() { // from class: com.oplus.wrapper.view.IWindowManager$Stub$Proxy$$ExternalSyntheticLambda0
|
||||
@Override // java.util.function.Function
|
||||
public final Object apply(Object obj) {
|
||||
android.view.IRotationWatcher lambda$watchRotation$0;
|
||||
lambda$watchRotation$0 = IWindowManager.Stub.Proxy.this.lambda$watchRotation$0((IRotationWatcher) obj);
|
||||
return lambda$watchRotation$0;
|
||||
}
|
||||
});
|
||||
return this.mIWindowManager.watchRotation(rotationWatcher, displayId);
|
||||
return mIWindowManager.watchRotation(watcher, displayId);
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public /* synthetic */ android.view.IRotationWatcher lambda$watchRotation$0(final IRotationWatcher observer) {
|
||||
return new IRotationWatcher.Stub() { // from class: com.oplus.wrapper.view.IWindowManager.Stub.Proxy.1
|
||||
public void onRotationChanged(int rotation) throws RemoteException {
|
||||
observer.onRotationChanged(rotation);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override // com.oplus.wrapper.view.IWindowManager
|
||||
@Override
|
||||
public void removeRotationWatcher(IRotationWatcher watcher) throws RemoteException {
|
||||
android.view.IRotationWatcher rotationWatcher = sRotationWatcherMap.get(watcher);
|
||||
if (rotationWatcher == null) {
|
||||
return;
|
||||
}
|
||||
sRotationWatcherMap.remove(watcher);
|
||||
this.mIWindowManager.removeRotationWatcher(rotationWatcher);
|
||||
mIWindowManager.removeRotationWatcher(watcher);
|
||||
}
|
||||
|
||||
@Override // com.oplus.wrapper.view.IWindowManager
|
||||
@Override
|
||||
public void setForcedDisplayDensityForUser(int displayId, int density, int userId) throws RemoteException {
|
||||
this.mIWindowManager.setForcedDisplayDensityForUser(displayId, density, userId);
|
||||
mIWindowManager.setForcedDisplayDensityForUser(displayId, density, userId);
|
||||
}
|
||||
|
||||
@Override // com.oplus.wrapper.view.IWindowManager
|
||||
@Override
|
||||
public int getBaseDisplayDensity(int displayId) throws RemoteException {
|
||||
return this.mIWindowManager.getBaseDisplayDensity(displayId);
|
||||
return mIWindowManager.getBaseDisplayDensity(displayId);
|
||||
}
|
||||
|
||||
@Override // com.oplus.wrapper.view.IWindowManager
|
||||
@Override
|
||||
public void getBaseDisplaySize(int displayId, Point size) throws RemoteException {
|
||||
this.mIWindowManager.getBaseDisplaySize(displayId, size);
|
||||
mIWindowManager.getBaseDisplaySize(displayId, size);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ import com.oplus.zoomwindow.OplusZoomWindowInfo;
|
||||
|
||||
interface IOplusZoomWindowObserver {
|
||||
|
||||
void onInputMethodChanged(boolean z);
|
||||
void onZoomWindowDied(String str);
|
||||
void onZoomWindowHide(inout OplusZoomWindowInfo oplusZoomWindowInfo);
|
||||
void onZoomWindowShow(inout OplusZoomWindowInfo oplusZoomWindowInfo);
|
||||
void onInputMethodChanged(boolean isShown);
|
||||
void onZoomWindowDied(String appName);
|
||||
void onZoomWindowHide(inout OplusZoomWindowInfo info);
|
||||
void onZoomWindowShow(inout OplusZoomWindowInfo info);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user