Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.18 KB | None | 0 0
  1. package com.sholat.app;
  2.  
  3. import android.Manifest;
  4. import android.app.AlarmManager;
  5. import android.app.PendingIntent;
  6. import android.app.ProgressDialog;
  7. import android.content.Context;
  8. import android.content.DialogInterface;
  9. import android.content.Intent;
  10. import android.content.pm.PackageManager;
  11. import android.os.Bundle;
  12. import android.os.Handler;
  13. import android.support.annotation.Nullable;
  14. import android.support.v4.app.ActivityCompat;
  15. import android.support.v4.content.ContextCompat;
  16. import android.support.v7.app.AlertDialog;
  17. import android.support.v7.app.AppCompatActivity;
  18. import android.view.View;
  19. import android.widget.Button;
  20. import android.widget.CheckBox;
  21. import android.widget.CompoundButton;
  22. import android.widget.Switch;
  23. import android.widget.TextView;
  24.  
  25. import com.sholat.app.location_service.GpsManager;
  26.  
  27. import java.text.SimpleDateFormat;
  28. import java.util.ArrayList;
  29. import java.util.Calendar;
  30. import java.util.Set;
  31. import java.util.TimeZone;
  32.  
  33. /**
  34. * Created by agustinaindah on 22/04/2018.
  35. */
  36.  
  37. public class SetAlarm2Activity extends AppCompatActivity {
  38.  
  39. public static final int MY_PERMISSIONS_REQUEST_LOCATION = 99;
  40. public TextView mDate, mFajrTime, mDzuhurTime, mAsharTime, mMagribTime, mIsyaTime;
  41. public Button mSycronLoc;
  42. public PrayTime prayers;
  43. public double timezone;
  44. public Calendar now, Dzuhur, Ashar, Magrib, Isya, Fajr;
  45. public String dzuhur, ashar, magrib, isya, fajr;
  46. public ProgressDialog dialog;
  47. public String[] months = {"Januari", "Februari", "March", "April",
  48. "Mei", "Juni", "Juli", "Augustus", "September", "Oktober",
  49. "November", "Desember"};
  50. public Switch mSwVibrateFajr, mSwSoundFajr, mSwVibrateDzuhur, mSwSoundDzuhur, mSwVibrateAshar,
  51. mSwSoundAshar, mSwVibrateMagrib, mSwSoundMagrib, mSwVibrateIsya, mSwSoundIsya;
  52.  
  53. private boolean withVibrate = false;
  54. private boolean withSound = false;
  55.  
  56. private boolean withVibrateMg = false;
  57. private boolean withSoundMg = false;
  58.  
  59. private boolean withVibrateIs = false;
  60. private boolean withSoundIs = false;
  61.  
  62.  
  63. @Override
  64. protected void onCreate(Bundle savedInstanceState) {
  65. super.onCreate(savedInstanceState);
  66. setTitle("Jadwal Sholat");
  67.  
  68. setContentView(R.layout.activity_set_alarm2);
  69.  
  70. checkLocationPermission();
  71.  
  72. mDate = (TextView) findViewById(R.id.txtDate);
  73. mFajrTime = (TextView) findViewById(R.id.txtFajrTime);
  74. mDzuhurTime = (TextView) findViewById(R.id.txtDzuhurTime);
  75. mAsharTime = (TextView) findViewById(R.id.txtAsharTime);
  76. mMagribTime = (TextView) findViewById(R.id.txtMagribrTime);
  77. mIsyaTime = (TextView) findViewById(R.id.txtIsyaTime);
  78. mSycronLoc = (Button) findViewById(R.id.btnSycronLoc);
  79.  
  80. mSwVibrateFajr = (Switch) findViewById(R.id.swVibrateFajr);
  81. mSwSoundFajr = (Switch) findViewById(R.id.swSoundFajr);
  82.  
  83. mSwVibrateDzuhur = (Switch) findViewById(R.id.swVibrateDzuhur);
  84. mSwSoundDzuhur = (Switch) findViewById(R.id.swSoundDzuhur);
  85.  
  86. mSwVibrateAshar = (Switch) findViewById(R.id.swVibrateAshar);
  87. mSwSoundAshar = (Switch) findViewById(R.id.swSoundAshar);
  88.  
  89. mSwVibrateMagrib = (Switch) findViewById(R.id.swVibrateMagrib);
  90. mSwSoundMagrib = (Switch) findViewById(R.id.swSoundMagrib);
  91.  
  92. mSwVibrateIsya = (Switch) findViewById(R.id.swVibrateIsya);
  93. mSwSoundIsya = (Switch) findViewById(R.id.swSoundIsya);
  94.  
  95. startAlarm();
  96.  
  97. initView();
  98.  
  99. initAlarmFajr();
  100. initAlarmDzuhur();
  101. initAlarmAshar();
  102. initAlarmMagrib();
  103. initAlarmIsya();
  104.  
  105. dialog = new ProgressDialog(SetAlarm2Activity.this);
  106.  
  107. displayTime();
  108.  
  109. mSycronLoc.setOnClickListener(new View.OnClickListener() {
  110. @Override
  111. public void onClick(View view) {
  112. dialog.setMessage("Loading...");
  113. dialog.show();
  114. new Handler().postDelayed(new Runnable() {
  115. @Override
  116. public void run() {
  117. reload();
  118. dialog.dismiss();
  119. }
  120. }, 1000);
  121. }
  122. });
  123.  
  124.  
  125. }
  126.  
  127. private void displayTime() {
  128. Calendar calendar = Calendar.getInstance();
  129. SimpleDateFormat format = new SimpleDateFormat("EEEE ,d MMMM yyyy");
  130. mDate.setText(format.format(calendar.getTime()));
  131. }
  132.  
  133. private void initView() {
  134. mSwVibrateFajr.setChecked(SharedPref.getBoolean(Consts.CBVIBFAJR));
  135. mSwVibrateFajr.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  136. @Override
  137. public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
  138. withVibrate = isChecked;
  139. SharedPref.saveBoolean(Consts.CBVIBFAJR, withVibrate);
  140. }
  141. });
  142.  
  143. mSwSoundFajr.setChecked(SharedPref.getBoolean(Consts.CBSOUNDFAJR));
  144. mSwSoundFajr.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  145. @Override
  146. public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
  147. withSound = isChecked;
  148. SharedPref.saveBoolean(Consts.CBSOUNDFAJR, withSound);
  149. }
  150. });
  151.  
  152. mSwVibrateDzuhur.setChecked(SharedPref.getBoolean(Consts.CBVIBDZUHUR));
  153. mSwVibrateDzuhur.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  154. @Override
  155. public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
  156. withVibrate = isChecked;
  157. SharedPref.saveBoolean(Consts.CBVIBDZUHUR, withVibrate);
  158. }
  159. });
  160.  
  161. mSwSoundDzuhur.setChecked(SharedPref.getBoolean(Consts.CBSOUNDDZUHUR));
  162. mSwSoundDzuhur.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  163. @Override
  164. public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
  165. withSound = isChecked;
  166. SharedPref.saveBoolean(Consts.CBSOUNDDZUHUR, withSound);
  167. }
  168. });
  169.  
  170. mSwVibrateAshar.setChecked(SharedPref.getBoolean(Consts.CBVIBASHAR));
  171. mSwVibrateAshar.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  172. @Override
  173. public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
  174. withVibrate = isChecked;
  175. SharedPref.saveBoolean(Consts.CBVIBASHAR, withVibrate);
  176. }
  177. });
  178.  
  179. mSwSoundAshar.setChecked(SharedPref.getBoolean(Consts.CBSOUNDASHAR));
  180. mSwSoundAshar.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  181. @Override
  182. public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
  183. withSound = isChecked;
  184. SharedPref.saveBoolean(Consts.CBSOUNDASHAR, withSound);
  185. }
  186. });
  187.  
  188. //mSwVibrateMagrib.setChecked(SharedPref.getBoolean(Consts.CBVIBMAGRIB));
  189. mSwVibrateMagrib.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  190. @Override
  191. public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
  192. withVibrateMg = isChecked;
  193. //SharedPref.saveBoolean(Consts.CBVIBMAGRIB, withVibrate);
  194. }
  195. });
  196.  
  197. //mSwSoundMagrib.setChecked(SharedPref.getBoolean(Consts.CBSOUNDMAGRIB));
  198. mSwSoundMagrib.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  199. @Override
  200. public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
  201. withSoundMg = isChecked;
  202. //SharedPref.saveBoolean(Consts.CBSOUNDMAGRIB, withSound);
  203. }
  204. });
  205.  
  206. //mSwVibrateIsya.setChecked(SharedPref.getBoolean(Consts.CBVIBISYA));
  207. mSwVibrateIsya.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  208. @Override
  209. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  210. withVibrateIs = isChecked;
  211. //SharedPref.saveBoolean(Consts.CBVIBISYA, withVibrate);
  212. }
  213. });
  214.  
  215. //mSwSoundIsya.setChecked(SharedPref.getBoolean(Consts.CBSOUNDISYA));
  216. mSwSoundIsya.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  217. @Override
  218. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  219. withSoundIs = isChecked;
  220. //SharedPref.saveBoolean(Consts.CBVIBISYA, withSound);
  221. }
  222. });
  223. }
  224.  
  225. private void startAlarm() {
  226. timezone = (Calendar.getInstance().getTimeZone().getOffset(Calendar.getInstance().getTimeInMillis())) / (1000 * 60 * 60);
  227.  
  228. prayers = new PrayTime();
  229.  
  230. prayers.setTimeFormat(prayers.Time24); //format waktu
  231. prayers.setCalcMethod(prayers.Egypt); //kalulasi menurut
  232. prayers.setAsrJuristic(prayers.Shafii);
  233. prayers.setAdjustHighLats(prayers.MidNight);
  234. prayers.setTimeZone(prayers.getTimeZone());
  235.  
  236. prayers.setFajrAngle(21.9);
  237. prayers.setIshaAngle(18.6);
  238.  
  239. int[] offsets = {0, 0, 0, 0, 0, 0, 0}; // {Fajr,Dhuhr,Asr,Maghrib,Isha}
  240. prayers.tune(offsets);
  241.  
  242. now = Calendar.getInstance(TimeZone.getDefault());
  243. now.setTimeInMillis(System.currentTimeMillis());
  244.  
  245. Dzuhur = Calendar.getInstance(TimeZone.getDefault());
  246. Dzuhur.setTimeInMillis(System.currentTimeMillis());
  247.  
  248. Ashar = Calendar.getInstance(TimeZone.getDefault());
  249. Ashar.setTimeInMillis(System.currentTimeMillis());
  250.  
  251. Magrib = Calendar.getInstance(TimeZone.getDefault());
  252. Magrib.setTimeInMillis(System.currentTimeMillis());
  253.  
  254. Isya = Calendar.getInstance(TimeZone.getDefault());
  255. Isya.setTimeInMillis(System.currentTimeMillis());
  256.  
  257. Fajr = Calendar.getInstance(TimeZone.getDefault());
  258. Fajr.setTimeInMillis(System.currentTimeMillis());
  259.  
  260. /*prefsEditor.putLong("Latitude", Double.doubleToLongBits(location.getLatitude()));*/
  261. GpsManager gpsManager = new GpsManager(SetAlarm2Activity.this);
  262. gpsManager.checkIfLocationAvailable();
  263. String lat = String.valueOf(gpsManager.getLatitude());
  264. String lng = String.valueOf(gpsManager.getLongitude());
  265.  
  266. SharedPref.saveString(Consts.LATITUDE, lat);
  267. SharedPref.saveString(Consts.LONGITUDE, lng);
  268.  
  269. double latD = Double.parseDouble(SharedPref.getString(Consts.LATITUDE));
  270. double lngD = Double.parseDouble(SharedPref.getString(Consts.LONGITUDE));
  271.  
  272. if (gpsManager.isLocationEnabled()) {
  273. ArrayList<String> prayerTimes = prayers.getPrayerTimes(now, latD, lngD, timezone);
  274. ArrayList<String> prayerNames = prayers.getTimeNames();
  275.  
  276. SharedPref.saveString(Consts.FAJR, prayerTimes.get(0));
  277. SharedPref.saveString(Consts.DHUHR, prayerTimes.get(2));
  278. SharedPref.saveString(Consts.ASR, prayerTimes.get(3));
  279. SharedPref.saveString(Consts.MAGHRIB, prayerTimes.get(4));
  280. SharedPref.saveString(Consts.ISHA, prayerTimes.get(6));
  281. }
  282.  
  283. mFajrTime.setText(SharedPref.getString(Consts.FAJR));
  284. mDzuhurTime.setText(SharedPref.getString(Consts.DHUHR));
  285. mAsharTime.setText(SharedPref.getString(Consts.ASR));
  286. mMagribTime.setText(SharedPref.getString(Consts.MAGHRIB));
  287. mIsyaTime.setText(SharedPref.getString(Consts.ISHA));
  288.  
  289. dzuhur = SharedPref.getString(Consts.DHUHR);
  290. int jamD = Integer.parseInt(dzuhur.substring(0, 2));
  291. int menitD = Integer.parseInt(dzuhur.substring(3));
  292. Dzuhur.set(Calendar.HOUR_OF_DAY, jamD);
  293. Dzuhur.set(Calendar.MINUTE, menitD);
  294. Dzuhur.set(Calendar.SECOND, 0);
  295. Dzuhur.set(Calendar.MILLISECOND, 0);
  296.  
  297. ashar = SharedPref.getString(Consts.ASR);
  298. int jamA = Integer.parseInt(ashar.substring(0, 2));
  299. int menitA = Integer.parseInt(ashar.substring(3));
  300. Ashar.set(Calendar.HOUR_OF_DAY, jamA);
  301. Ashar.set(Calendar.MINUTE, menitA);
  302. Ashar.set(Calendar.SECOND, 0);
  303. Ashar.set(Calendar.MILLISECOND, 0);
  304.  
  305. magrib = SharedPref.getString(Consts.MAGHRIB);
  306. int jamM = Integer.parseInt(magrib.substring(0, 2));
  307. int menitM = Integer.parseInt(magrib.substring(3));
  308. Magrib.set(Calendar.HOUR_OF_DAY, jamM);
  309. Magrib.set(Calendar.MINUTE, menitM);
  310. Magrib.set(Calendar.SECOND, 0);
  311. Magrib.set(Calendar.MILLISECOND, 0);
  312.  
  313. isya = SharedPref.getString(Consts.ISHA);
  314. int jamI = Integer.parseInt(isya.substring(0, 2));
  315. int menitI = Integer.parseInt(isya.substring(3));
  316. Isya.set(Calendar.HOUR_OF_DAY, jamI);
  317. Isya.set(Calendar.MINUTE, menitI);
  318. Isya.set(Calendar.SECOND, 0);
  319. Isya.set(Calendar.MILLISECOND, 0);
  320.  
  321. fajr = SharedPref.getString(Consts.FAJR);
  322. int jamF = Integer.parseInt(fajr.substring(0, 2));
  323. int menitF = Integer.parseInt(fajr.substring(3));
  324. Fajr.set(Calendar.HOUR_OF_DAY, jamF);
  325. Fajr.set(Calendar.MINUTE, menitF);
  326. Fajr.set(Calendar.SECOND, 0);
  327. Fajr.set(Calendar.MILLISECOND, 0);
  328. Fajr.add(Calendar.DAY_OF_MONTH, 1);
  329. }
  330.  
  331. public void reload() {
  332.  
  333. timezone = (Calendar.getInstance().getTimeZone().getOffset(Calendar.getInstance().getTimeInMillis())) / (1000 * 60 * 60);
  334.  
  335. prayers = new PrayTime();
  336.  
  337. prayers.setTimeFormat(prayers.Time24); //format waktu
  338. prayers.setCalcMethod(prayers.Egypt); //kalulasi menurut
  339. prayers.setAsrJuristic(prayers.Shafii);
  340. prayers.setAdjustHighLats(prayers.MidNight);
  341. prayers.setTimeZone(prayers.getTimeZone());
  342.  
  343. prayers.setFajrAngle(21.9);
  344. prayers.setIshaAngle(18.6);
  345.  
  346. int[] offsets = {0, 0, 0, 0, 0, 0, 0}; // {Fajr,Dhuhr,Asr,Maghrib,Isha}
  347. prayers.tune(offsets);
  348.  
  349. now = Calendar.getInstance(TimeZone.getDefault());
  350. now.setTimeInMillis(System.currentTimeMillis());
  351.  
  352. Dzuhur = Calendar.getInstance(TimeZone.getDefault());
  353. Dzuhur.setTimeInMillis(System.currentTimeMillis());
  354.  
  355. Ashar = Calendar.getInstance(TimeZone.getDefault());
  356. Ashar.setTimeInMillis(System.currentTimeMillis());
  357.  
  358. Magrib = Calendar.getInstance(TimeZone.getDefault());
  359. Magrib.setTimeInMillis(System.currentTimeMillis());
  360.  
  361. Isya = Calendar.getInstance(TimeZone.getDefault());
  362. Isya.setTimeInMillis(System.currentTimeMillis());
  363.  
  364. Fajr = Calendar.getInstance(TimeZone.getDefault());
  365. Fajr.setTimeInMillis(System.currentTimeMillis());
  366.  
  367. /*prefsEditor.putLong("Latitude", Double.doubleToLongBits(location.getLatitude()));*/
  368. GpsManager gpsManager = new GpsManager(SetAlarm2Activity.this);
  369. gpsManager.checkIfLocationAvailable();
  370. String lat = String.valueOf(gpsManager.getLatitude());
  371. String lng = String.valueOf(gpsManager.getLongitude());
  372.  
  373. SharedPref.saveString(Consts.LATITUDE, lat);
  374. SharedPref.saveString(Consts.LONGITUDE, lng);
  375.  
  376. double latD = Double.parseDouble(SharedPref.getString(Consts.LATITUDE));
  377. double lngD = Double.parseDouble(SharedPref.getString(Consts.LONGITUDE));
  378.  
  379. if (gpsManager.isLocationEnabled()) {
  380. ArrayList<String> prayerTimes = prayers.getPrayerTimes(now, latD, lngD, timezone);
  381. ArrayList<String> prayerNames = prayers.getTimeNames();
  382.  
  383. SharedPref.saveString(Consts.FAJR, prayerTimes.get(0));
  384. SharedPref.saveString(Consts.DHUHR, prayerTimes.get(2));
  385. SharedPref.saveString(Consts.ASR, prayerTimes.get(3));
  386. SharedPref.saveString(Consts.MAGHRIB, prayerTimes.get(4));
  387. SharedPref.saveString(Consts.ISHA, prayerTimes.get(6));
  388. }
  389.  
  390. mFajrTime.setText(SharedPref.getString(Consts.FAJR));
  391. mDzuhurTime.setText(SharedPref.getString(Consts.DHUHR));
  392. mAsharTime.setText(SharedPref.getString(Consts.ASR));
  393. mMagribTime.setText(SharedPref.getString(Consts.MAGHRIB));
  394. mIsyaTime.setText(SharedPref.getString(Consts.ISHA));
  395.  
  396. dzuhur = SharedPref.getString(Consts.DHUHR);
  397. int jamD = Integer.parseInt(dzuhur.substring(0, 2));
  398. int menitD = Integer.parseInt(dzuhur.substring(3));
  399. Dzuhur.set(Calendar.HOUR_OF_DAY, jamD);
  400. Dzuhur.set(Calendar.MINUTE, menitD);
  401. Dzuhur.set(Calendar.SECOND, 0);
  402. Dzuhur.set(Calendar.MILLISECOND, 0);
  403.  
  404. ashar = SharedPref.getString(Consts.ASR);
  405. int jamA = Integer.parseInt(ashar.substring(0, 2));
  406. int menitA = Integer.parseInt(ashar.substring(3));
  407. Ashar.set(Calendar.HOUR_OF_DAY, jamA);
  408. Ashar.set(Calendar.MINUTE, menitA);
  409. Ashar.set(Calendar.SECOND, 0);
  410. Ashar.set(Calendar.MILLISECOND, 0);
  411.  
  412. magrib = SharedPref.getString(Consts.MAGHRIB);
  413. int jamM = Integer.parseInt(magrib.substring(0, 2));
  414. int menitM = Integer.parseInt(magrib.substring(3));
  415. Magrib.set(Calendar.HOUR_OF_DAY, jamM);
  416. Magrib.set(Calendar.MINUTE, menitM);
  417. Magrib.set(Calendar.SECOND, 0);
  418. Magrib.set(Calendar.MILLISECOND, 0);
  419.  
  420. isya = SharedPref.getString(Consts.ISHA);
  421. int jamI = Integer.parseInt(isya.substring(0, 2));
  422. int menitI = Integer.parseInt(isya.substring(3));
  423. Isya.set(Calendar.HOUR_OF_DAY, jamI);
  424. Isya.set(Calendar.MINUTE, menitI);
  425. Isya.set(Calendar.SECOND, 0);
  426. Isya.set(Calendar.MILLISECOND, 0);
  427.  
  428. fajr = SharedPref.getString(Consts.FAJR);
  429. int jamF = Integer.parseInt(fajr.substring(0, 2));
  430. int menitF = Integer.parseInt(fajr.substring(3));
  431. Fajr.set(Calendar.HOUR_OF_DAY, jamF);
  432. Fajr.set(Calendar.MINUTE, menitF);
  433. Fajr.set(Calendar.SECOND, 0);
  434. Fajr.set(Calendar.MILLISECOND, 0);
  435. Fajr.add(Calendar.DAY_OF_MONTH, 1);
  436. }
  437.  
  438. public void initAlarmFajr() {
  439. if (Fajr.after(now)) {
  440. Intent intent = new Intent(this, VibrateAlarm.class);
  441. intent.putExtra("EXTRA_WITH_SOUND", withSound);
  442. intent.putExtra("EXTRA_WITH_VIBRATE", withVibrate);
  443. PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
  444. AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
  445. alarmManager.set(AlarmManager.RTC_WAKEUP, Fajr.getTimeInMillis(), pendingIntent);
  446. }
  447. }
  448.  
  449. public void initAlarmDzuhur() {
  450. if (Dzuhur.after(now)) {
  451. AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
  452. Intent intent = new Intent(this, VibrateAlarm.class);
  453. intent.putExtra("EXTRA_WITH_SOUND", withSound);
  454. intent.putExtra("EXTRA_WITH_VIBRATE", withVibrate);
  455. PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
  456. alarmManager.set(AlarmManager.RTC_WAKEUP, Dzuhur.getTimeInMillis(), pendingIntent);
  457. }
  458. }
  459.  
  460. public void initAlarmAshar() {
  461. if (Ashar.after(now)) {
  462. Intent intent = new Intent(this, VibrateAlarm.class);
  463. intent.putExtra("EXTRA_WITH_SOUND", withSound);
  464. intent.putExtra("EXTRA_WITH_VIBRATE", withVibrate);
  465. PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 2, intent, PendingIntent.FLAG_UPDATE_CURRENT);
  466. AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
  467. alarmManager.set(AlarmManager.RTC_WAKEUP, Ashar.getTimeInMillis(), pendingIntent);
  468. }
  469. }
  470.  
  471. public void initAlarmMagrib() {
  472. if (Magrib.after(now)) {
  473. Intent intent = new Intent(this, VibrateAlarm.class);
  474. intent.putExtra("EXTRA_WITH_SOUND", withSoundMg);
  475. intent.putExtra("EXTRA_WITH_VIBRATE", withVibrateMg);
  476. PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 3, intent, PendingIntent.FLAG_UPDATE_CURRENT);
  477. AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
  478. alarmManager.set(AlarmManager.RTC_WAKEUP, Magrib.getTimeInMillis(), pendingIntent);
  479. }
  480. }
  481.  
  482. public void initAlarmIsya() {
  483. if (Isya.after(now)) {
  484. Intent intent = new Intent(this, VibrateAlarm.class);
  485. intent.putExtra("EXTRA_WITH_SOUND", false);
  486. intent.putExtra("EXTRA_WITH_VIBRATE", true);
  487. PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 4, intent, PendingIntent.FLAG_UPDATE_CURRENT);
  488. AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
  489. alarmManager.set(AlarmManager.RTC_WAKEUP, Isya.getTimeInMillis(), pendingIntent);
  490. }
  491. }
  492.  
  493. public boolean checkLocationPermission() {
  494. if (ContextCompat.checkSelfPermission(this,
  495. Manifest.permission.ACCESS_FINE_LOCATION)
  496. != PackageManager.PERMISSION_GRANTED) {
  497.  
  498. // Should we show an explanation?
  499. if (ActivityCompat.shouldShowRequestPermissionRationale(this,
  500. Manifest.permission.ACCESS_FINE_LOCATION)) {
  501.  
  502. // Show an explanation to the user *asynchronously* -- don't block
  503. // this thread waiting for the user's response! After the user
  504. // sees the explanation, try again to request the permission.
  505. new AlertDialog.Builder(this)
  506. .setTitle(R.string.title_location_permission)
  507. .setMessage(R.string.text_location_permission)
  508. .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
  509. @Override
  510. public void onClick(DialogInterface dialogInterface, int i) {
  511. //Prompt the user once explanation has been shown
  512. ActivityCompat.requestPermissions(SetAlarm2Activity.this,
  513. new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
  514. MY_PERMISSIONS_REQUEST_LOCATION);
  515. }
  516. })
  517. .create()
  518. .show();
  519.  
  520.  
  521. } else {
  522. // No explanation needed, we can request the permission.
  523. ActivityCompat.requestPermissions(this,
  524. new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
  525. MY_PERMISSIONS_REQUEST_LOCATION);
  526. }
  527. return false;
  528. } else {
  529. return true;
  530. }
  531. }
  532.  
  533. @Override
  534. public void onRequestPermissionsResult(int requestCode,
  535. String permissions[], int[] grantResults) {
  536. switch (requestCode) {
  537. case MY_PERMISSIONS_REQUEST_LOCATION: {
  538. // If request is cancelled, the result arrays are empty.
  539. if (grantResults.length > 0
  540. && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
  541.  
  542. // permission was granted, yay! Do the
  543. // location-related task you need to do.
  544. if (ContextCompat.checkSelfPermission(this,
  545. Manifest.permission.ACCESS_FINE_LOCATION)
  546. == PackageManager.PERMISSION_GRANTED) {
  547.  
  548. //Request location updates:
  549. GpsManager gpsManager = new GpsManager(SetAlarm2Activity.this);
  550. gpsManager.getLatitude();
  551. gpsManager.getLongitude();
  552. }
  553.  
  554. } else {
  555.  
  556. // permission denied, boo! Disable the
  557. // functionality that depends on this permission.
  558.  
  559. }
  560. return;
  561. }
  562.  
  563. }
  564. }
  565. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement