package com.uiui.aios.receiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.text.TextUtils; import android.util.Log; import com.uiui.aios.service.main.MainService; import java.util.concurrent.TimeUnit; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.ObservableOnSubscribe; import io.reactivex.rxjava3.core.Observer; import io.reactivex.rxjava3.disposables.Disposable; public class BootReceiver extends BroadcastReceiver { private static String TAG = BootReceiver.class.getSimpleName(); public static final String BOOT_COMPLETED = "zuoyeos.action.BOOT_COMPLETED"; public static final String SOS = "zuoyeos.action.SOS"; static { getLockedState(); } private static void getLockedState() { Observable.create((ObservableOnSubscribe) emitter -> start = emitter::onNext) .throttleLast(1, TimeUnit.HOURS) .subscribe(new Observer() { @Override public void onSubscribe(Disposable d) { Log.e("getLockedState", "onSubscribe: "); } @Override public void onNext(Long aLong) { } @Override public void onError(Throwable e) { Log.e("getLockedState", "onError: " + e.getMessage()); } @Override public void onComplete() { Log.e("getLockedState", "onComplete: "); } }); } private interface Start { void onstar(long time); } private static Start start; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.e(TAG, "action:" + action); if (TextUtils.isEmpty(action)) { return; } switch (action) { default: break; case BOOT_COMPLETED: MainService.mPresenter.getAlarmClock(); case Intent.ACTION_BOOT_COMPLETED: break; case Intent.ACTION_BATTERY_CHANGED: case Intent.ACTION_BATTERY_LOW: case Intent.ACTION_BATTERY_OKAY: case Intent.ACTION_POWER_CONNECTED: case Intent.ACTION_POWER_DISCONNECTED: case Intent.ACTION_DATE_CHANGED: case Intent.ACTION_TIME_TICK: case Intent.ACTION_USER_PRESENT: case Intent.ACTION_SCREEN_OFF: case Intent.ACTION_SCREEN_ON: break; } } }