Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.tomecki.counterpushups;
- import android.app.Notification;
- import android.app.NotificationManager;
- import android.app.PendingIntent;
- import android.app.Service;
- import android.app.TaskStackBuilder;
- import android.content.Context;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.os.CountDownTimer;
- import android.os.IBinder;
- import android.support.v7.app.NotificationCompat;
- import android.util.Log;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.HashMap;
- public class MyService extends Service {
- public MyService() {
- }
- int hours_with_setting;
- String nameDay;
- String title = "";
- public static SharedPreferences sharedpreferences_date_now;
- public static final String MyPREFERENCES_date_now = "MyPrefs_date_now";
- private CountDownTimer countDownTimer;
- private long totalTimeCountInMilliseconds;
- @Override
- public void onCreate(){
- super.onCreate();
- sharedpreferences_date_now = getSharedPreferences(MyPREFERENCES_date_now, Context.MODE_PRIVATE);
- hours_with_setting = sharedpreferences_date_now.getInt("hours", 0);
- Log.d("service- ", "oncreate");
- }
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- Log.d("service- ", "startcommnad");
- setTimer();
- startTimer();
- return Service.START_STICKY;
- }
- @Override
- public void onDestroy(){
- super.onDestroy();
- }
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
- public void getDay() {
- Log.d("service- ", "getday");
- Calendar calendar = Calendar.getInstance();
- SimpleDateFormat df_end = new SimpleDateFormat("EEEE");
- String formattedDate_end = df_end.format(calendar.getTime());
- if (formattedDate_end.equals("niedziela")) {
- nameDay = "Data." + "sun";
- } else if (formattedDate_end.equals("poniedziałek")) {
- nameDay = "Data." + "mon";
- } else if (formattedDate_end.equals("wtorek")) {
- nameDay = "Data." + "tue";
- } else if (formattedDate_end.equals("środa")) {
- nameDay = "Data." + "wed";
- } else if (formattedDate_end.equals("czwartek")) {
- nameDay = "Data." + "thu";
- } else if (formattedDate_end.equals("piątek")) {
- nameDay = "Data." + "fri";
- } else if (formattedDate_end.equals("sobota")) {
- nameDay = "Data." + "sat";
- }
- SQLiteDatabase db = MainActivity.dbhelper.getReadableDatabase();
- Cursor c = db.query(Data.TABLE_NAME,
- new String[]{nameDay, Data.TITLE}, null, null, null, null, null);
- while (c.moveToNext()) {
- if (c.getString(c.getColumnIndex(nameDay)).equals("true")) {
- if (c.isLast()) {
- title = title + c.getString(c.getColumnIndex(Data.TITLE));
- Log.i("Start", "notification");
- Intent intent = new Intent(this, MyService.class);
- PendingIntent pIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent, 0);
- Notification n = new Notification.Builder(this)
- .setContentTitle("Nie zapomnij o treningach:")
- .setSmallIcon(R.mipmap.ic_launcher)
- .setContentIntent(pIntent)
- .setContentText(""+title)
- .setStyle(new Notification.BigTextStyle().bigText(""+title))
- .setAutoCancel(true).build();
- NotificationManager notificationManager =
- (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
- notificationManager.notify(0, n);
- title = "";
- } else{
- title = title + c.getString(c.getColumnIndex(Data.TITLE))+", "+"\n";
- }
- } else {
- }
- }
- }
- private void setTimer() {
- totalTimeCountInMilliseconds = 60 * 1000;
- }
- private void startTimer() {
- countDownTimer = new CountDownTimer(totalTimeCountInMilliseconds, 1000) {
- @Override
- public void onTick(long leftTimeInMilliseconds) {
- }
- @Override
- public void onFinish() {
- Log.d("service- ", "onfinish");
- Calendar calendar = Calendar.getInstance();
- SimpleDateFormat df_end = new SimpleDateFormat("HHmm");
- String formattedDate_end = df_end.format(calendar.getTime());
- int hours = Integer.parseInt(formattedDate_end);
- if(hours >= hours_with_setting){
- setTimer();
- startTimer();
- getDay();
- } else{
- setTimer();
- startTimer();
- }
- }
- }.start();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement