package com.seewo.sdk.sensor;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.SystemProperties;
import android.util.Log;
import com.seewo.sdk.OpenSDK;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/* JADX INFO: loaded from: classes.dex */
public class AndroidSensorManager implements ISDKSensor {
    private static final String TAG = "AndroidSensorManager";
    private static AndroidSensorManager sInstance;
    private Handler mHandler;
    private SensorManager mSensorManager;
    private float mXGravityOffset;
    private float mYGravityOffset;
    private Map<String, ISDKSensorCallback> mClientList = new HashMap();
    private float[] mGravity = new float[6];
    private SensorEventListener mSensorEventListener = new SensorEventListener() { // from class: com.seewo.sdk.sensor.AndroidSensorManager.1
        @Override // android.hardware.SensorEventListener
        public void onAccuracyChanged(Sensor sensor, int i) {
        }

        @Override // android.hardware.SensorEventListener
        public void onSensorChanged(SensorEvent sensorEvent) {
            if (sensorEvent.sensor.getType() == 1) {
                AndroidSensorManager.this.mGravity[0] = (-sensorEvent.values[0]) - AndroidSensorManager.this.mXGravityOffset;
                AndroidSensorManager.this.mGravity[1] = sensorEvent.values[1] - AndroidSensorManager.this.mYGravityOffset;
                AndroidSensorManager.this.mGravity[2] = sensorEvent.values[2];
                AndroidSensorManager.this.callback(sensorEvent.timestamp);
                return;
            }
            if (sensorEvent.sensor.getType() == 4) {
                AndroidSensorManager.this.mGravity[3] = sensorEvent.values[0];
                AndroidSensorManager.this.mGravity[4] = sensorEvent.values[1];
                AndroidSensorManager.this.mGravity[5] = sensorEvent.values[2];
                AndroidSensorManager.this.callback(sensorEvent.timestamp);
            }
        }
    };
    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { // from class: com.seewo.sdk.sensor.AndroidSensorManager.2
        @Override // android.content.BroadcastReceiver
        public void onReceive(Context context, Intent intent) {
            AndroidSensorManager.this.updateGravityOffset();
        }
    };

    private AndroidSensorManager() {
        updateGravityOffset();
    }

    public static AndroidSensorManager getInstance() {
        if (sInstance == null) {
            sInstance = new AndroidSensorManager();
        }
        return sInstance;
    }

    /* JADX INFO: Access modifiers changed from: private */
    public void updateGravityOffset() {
        this.mXGravityOffset = Float.valueOf(SystemProperties.get("persist.sys.acc.offsetX", "0.0")).floatValue();
        this.mYGravityOffset = Float.valueOf(SystemProperties.get("persist.sys.acc.offsetY", "0.0")).floatValue();
    }

    private void init() {
        this.mSensorManager = (SensorManager) OpenSDK.getInstance().getContext().getSystemService("sensor");
        HandlerThread handlerThread = new HandlerThread(TAG);
        handlerThread.start();
        this.mHandler = new Handler(handlerThread.getLooper());
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction("com.seewo.action.ACC_OFFSET_CORRECTION");
        OpenSDK.getInstance().getContext().registerReceiver(this.mBroadcastReceiver, intentFilter);
    }

    @Override // com.seewo.sdk.sensor.ISDKSensor
    public boolean registerCallBack(String str, ISDKSensorCallback iSDKSensorCallback) {
        Log.d(TAG, "registerCallBack: " + str);
        this.mClientList.put(str, iSDKSensorCallback);
        if (this.mClientList.isEmpty()) {
            return false;
        }
        registerSensor();
        return false;
    }

    @Override // com.seewo.sdk.sensor.ISDKSensor
    public void unRegisterCallBack(String str) {
        Log.d(TAG, "unRegisterCallBack: " + str);
        this.mClientList.remove(str);
        if (this.mClientList.isEmpty()) {
            unregisterSensor();
        }
    }

    private void registerSensor() {
        if (this.mSensorManager == null) {
            init();
        }
        SensorManager sensorManager = this.mSensorManager;
        sensorManager.registerListener(this.mSensorEventListener, sensorManager.getDefaultSensor(1), 0, this.mHandler);
        SensorManager sensorManager2 = this.mSensorManager;
        sensorManager2.registerListener(this.mSensorEventListener, sensorManager2.getDefaultSensor(4), 0, this.mHandler);
    }

    private void unregisterSensor() {
        SensorManager sensorManager = this.mSensorManager;
        if (sensorManager != null) {
            sensorManager.unregisterListener(this.mSensorEventListener);
        }
    }

    /* JADX INFO: Access modifiers changed from: private */
    public void callback(long j) {
        Iterator<String> it = this.mClientList.keySet().iterator();
        while (it.hasNext()) {
            this.mClientList.get(it.next()).onSensorChanged(this.mGravity, j);
        }
    }
}
