what does this code do?



    protected ADBleService(Context context) {
        this.mApplicationContext = context;
        onCreate();
    }

    public static ADBleService getInstance(Context context) {
        if (mInstance == null) {
            synchronized (ADBleService.class) {
                if (mInstance == null) {
                    mInstance = new ADBleService(context);
                }
            }
        }
        return mInstance;
    }

    public void onCreate() {
        ADLog.v(TAG, "onCreate", new Object[0]);
        HandlerThread handlerThread = new HandlerThread("adbleService.thread");
        this.mThread = handlerThread;
        handlerThread.start();
        this.mHandler = new Handler(this.mThread.getLooper());
    }

    public void onDestroy() {
        ADLog.v(TAG, "onDestroy()", new Object[0]);
        HandlerThread handlerThread = this.mThread;
        if (handlerThread != null) {
            handlerThread.quit();
        }
    }

    /* JADX INFO: Access modifiers changed from: package-private */
    public synchronized void onOperatorFinish() {
        this.mCurrentOperator = null;
        runNext();
    }

    /* JADX INFO: Access modifiers changed from: package-private */
    public synchronized void onFTMSOperatorFinish() {
        this.mCurrentFTMSOperator = null;
        runNextFTMS();
    } Do not include the following keywords: onftmsoperatorfinish, =, handler(this.mthread.getlooper, return
user