mirror of
https://github.com/jfoucry/Pilldroid.git
synced 2024-11-17 18:41:37 +01:00
JobScheduler en place, un toast toutes les 3 secondes
This commit is contained in:
parent
0996f908a8
commit
dea00e1e6c
2 changed files with 48 additions and 5 deletions
|
@ -4,7 +4,6 @@
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.CAMERA"/>
|
<uses-permission android:name="android.permission.CAMERA"/>
|
||||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
|
@ -55,6 +54,8 @@
|
||||||
android:name="com.google.android.gms.version"
|
android:name="com.google.android.gms.version"
|
||||||
android:value="@integer/google_play_services_version" />
|
android:value="@integer/google_play_services_version" />
|
||||||
<service android:name=".TimeService"/>
|
<service android:name=".TimeService"/>
|
||||||
|
<service android:name=".PillDroidJobService"
|
||||||
|
android:permission="android.permission.BIND_JOB_SERVICE"/>
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
|
@ -4,6 +4,10 @@ import android.app.AlarmManager;
|
||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
|
import android.app.job.JobInfo;
|
||||||
|
import android.app.job.JobParameters;
|
||||||
|
import android.app.job.JobScheduler;
|
||||||
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
@ -11,6 +15,7 @@ import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Message;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.v7.app.AlertDialog;
|
import android.support.v7.app.AlertDialog;
|
||||||
|
@ -41,6 +46,7 @@ import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
import java.util.logging.Handler;
|
||||||
|
|
||||||
import static net.foucry.pilldroid.UtilDate.date2String;
|
import static net.foucry.pilldroid.UtilDate.date2String;
|
||||||
import static net.foucry.pilldroid.Utils.doubleRandomInclusive;
|
import static net.foucry.pilldroid.Utils.doubleRandomInclusive;
|
||||||
|
@ -62,6 +68,9 @@ public class MedicamentListActivity extends AppCompatActivity {
|
||||||
private boolean mTwoPane;
|
private boolean mTwoPane;
|
||||||
final static Boolean DEMO = true;
|
final static Boolean DEMO = true;
|
||||||
final static Random random = new Random();
|
final static Random random = new Random();
|
||||||
|
|
||||||
|
private JobScheduler mJobScheduler;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ATTENTION: This was auto-generated to implement the App Indexing API.
|
* ATTENTION: This was auto-generated to implement the App Indexing API.
|
||||||
* See https://g.co/AppIndexing/AndroidStudio for more information.
|
* See https://g.co/AppIndexing/AndroidStudio for more information.
|
||||||
|
@ -73,8 +82,16 @@ public class MedicamentListActivity extends AppCompatActivity {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
|
|
||||||
Log.d(TAG, "Remove old notification");
|
Log.d(TAG, "Remove old notification");
|
||||||
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
|
cancelAllJobs(mRecyclerView);
|
||||||
nm.cancelAll();
|
//NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
|
||||||
|
//nm.cancelAll();
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
mJobScheduler.cancelAll();
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.d(TAG, "no old job to remove");
|
||||||
|
}
|
||||||
|
|
||||||
// ATTENTION: This was auto-generated to implement the App Indexing API.
|
// ATTENTION: This was auto-generated to implement the App Indexing API.
|
||||||
// See https://g.co/AppIndexing/AndroidStudio for more information.
|
// See https://g.co/AppIndexing/AndroidStudio for more information.
|
||||||
|
@ -96,7 +113,7 @@ public class MedicamentListActivity extends AppCompatActivity {
|
||||||
public void onStop() {
|
public void onStop() {
|
||||||
super.onStop();
|
super.onStop();
|
||||||
|
|
||||||
Calendar calendar = Calendar.getInstance();
|
/*Calendar calendar = Calendar.getInstance();
|
||||||
Date now = calendar.getTime();
|
Date now = calendar.getTime();
|
||||||
|
|
||||||
long dateSchedule;
|
long dateSchedule;
|
||||||
|
@ -115,8 +132,28 @@ public class MedicamentListActivity extends AppCompatActivity {
|
||||||
// int between2DateInMillis = (int) (tomorrow.getTime() - now.getTime());
|
// int between2DateInMillis = (int) (tomorrow.getTime() - now.getTime());
|
||||||
scheduleNotification(getNotification("Vous devez passer à la pharmacie."), dateSchedule);
|
scheduleNotification(getNotification("Vous devez passer à la pharmacie."), dateSchedule);
|
||||||
|
|
||||||
Log.d(TAG, "Notification scheduled for "+ UtilDate.convertDate(now.getTime() + dateSchedule));
|
/* Log.d(TAG, "Notification scheduled for "+ UtilDate.convertDate(now.getTime() + dateSchedule));*//*
|
||||||
|
|
||||||
|
ComponentName mServiceCoponent = new ComponentName(this, PillDroidJobService.class);
|
||||||
|
JobInfo.Builder builder = new JobInfo.Builder(kJobId++, mServiceCoponent);
|
||||||
|
builder.setMinimumLatency(5 * 1000);
|
||||||
|
builder.setOverrideDeadline(50 * 1000);
|
||||||
|
builder.setRequiresDeviceIdle(true);
|
||||||
|
builder.setRequiresCharging(false);
|
||||||
|
JobScheduler jobScheduler = (JobScheduler) getApplication().getSystemService(Context.JOB_SCHEDULER_SERVICE);
|
||||||
|
jobScheduler.schedule(builder.build());*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
|
||||||
|
|
||||||
|
JobInfo.Builder builder = new JobInfo.Builder(1,
|
||||||
|
new ComponentName( getPackageName(), PillDroidJobService.class.getName()));
|
||||||
|
builder.setPeriodic(3000);
|
||||||
|
|
||||||
|
if (mJobScheduler.schedule(builder.build()) <= 0) {
|
||||||
|
Log.d(TAG, "Something goes wrong at job schedule");
|
||||||
|
}
|
||||||
// ATTENTION: This was auto-generated to implement the App Indexing API.
|
// ATTENTION: This was auto-generated to implement the App Indexing API.
|
||||||
// See https://g.co/AppIndexing/AndroidStudio for more information.
|
// See https://g.co/AppIndexing/AndroidStudio for more information.
|
||||||
Action viewAction = Action.newAction(
|
Action viewAction = Action.newAction(
|
||||||
|
@ -133,6 +170,11 @@ public class MedicamentListActivity extends AppCompatActivity {
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void cancelAllJobs(View v) {
|
||||||
|
JobScheduler tm = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
|
||||||
|
tm.cancelAll();
|
||||||
|
}
|
||||||
|
|
||||||
private static final String TAG = MedicamentListActivity.class.getName();
|
private static final String TAG = MedicamentListActivity.class.getName();
|
||||||
|
|
||||||
private static DBHelper dbHelper;
|
private static DBHelper dbHelper;
|
||||||
|
|
Loading…
Reference in a new issue