mirror of
https://github.com/oxen-io/session-android.git
synced 2024-12-29 11:17:47 +00:00
49 lines
1.7 KiB
Java
49 lines
1.7 KiB
Java
|
package org.thoughtcrime.securesms.components.reminder;
|
||
|
|
||
|
|
||
|
import android.content.Context;
|
||
|
import android.content.Intent;
|
||
|
import android.net.Uri;
|
||
|
import android.os.Build;
|
||
|
import android.os.PowerManager;
|
||
|
import android.provider.Settings;
|
||
|
import android.support.annotation.NonNull;
|
||
|
import android.support.annotation.RequiresApi;
|
||
|
import android.view.View;
|
||
|
|
||
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||
|
|
||
|
public class DozeReminder extends Reminder {
|
||
|
|
||
|
@RequiresApi(api = Build.VERSION_CODES.M)
|
||
|
public DozeReminder(@NonNull final Context context) {
|
||
|
super("Optimize for missing Play Services",
|
||
|
"This device does not support Play Services. Tap to disable system battery optimizations that prevent Signal from retrieving messages while inactive.");
|
||
|
|
||
|
setOkListener(new View.OnClickListener() {
|
||
|
@Override
|
||
|
public void onClick(View v) {
|
||
|
TextSecurePreferences.setPromptedOptimizeDoze(context, true);
|
||
|
Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS,
|
||
|
Uri.parse("package:" + context.getPackageName()));
|
||
|
context.startActivity(intent);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
setDismissListener(new View.OnClickListener() {
|
||
|
@Override
|
||
|
public void onClick(View v) {
|
||
|
TextSecurePreferences.setPromptedOptimizeDoze(context, true);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
public static boolean isEligible(Context context) {
|
||
|
return TextSecurePreferences.isGcmDisabled(context) &&
|
||
|
!TextSecurePreferences.hasPromptedOptimizeDoze(context) &&
|
||
|
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
|
||
|
!((PowerManager)context.getSystemService(Context.POWER_SERVICE)).isIgnoringBatteryOptimizations(context.getPackageName());
|
||
|
}
|
||
|
|
||
|
}
|