89 lines
2.7 KiB
Java
89 lines
2.7 KiB
Java
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<Long>) emitter -> start = emitter::onNext)
|
|
.throttleLast(1, TimeUnit.HOURS)
|
|
.subscribe(new Observer<Long>() {
|
|
@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;
|
|
}
|
|
}
|
|
}
|