diff --git a/app/src/main/java/javinator9889/bitcoinpools/AppUpdaterManager/CheckUpdates.java b/app/src/main/java/javinator9889/bitcoinpools/AppUpdaterManager/CheckUpdates.java index 14d7dcd..c614670 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/AppUpdaterManager/CheckUpdates.java +++ b/app/src/main/java/javinator9889/bitcoinpools/AppUpdaterManager/CheckUpdates.java @@ -40,7 +40,7 @@ public class CheckUpdates { private static JSONArray RETRIEVED_DATA; private static String LATEST_VERSION; private static String DOWNLOAD_URL = null; - private static String MORE_INFO = "https://play.google.com/store/apps/details?id=com.fastaccess.github"; + private static String MORE_INFO = Constants.GOOGLE_PLAY_URL; private static String APK_NAME; private static boolean HTML_PAGE = false; diff --git a/app/src/main/java/javinator9889/bitcoinpools/BackgroundJobs/NotificationHandler.java b/app/src/main/java/javinator9889/bitcoinpools/BackgroundJobs/NotificationHandler.java index cd5856b..b55786c 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/BackgroundJobs/NotificationHandler.java +++ b/app/src/main/java/javinator9889/bitcoinpools/BackgroundJobs/NotificationHandler.java @@ -68,14 +68,16 @@ void putNotification() { notificationText = BitCoinApp.getAppContext().getString(R.string.lowerPriceX) + SPECIFIC_VALUE; NOTIFIED_HIGH = false; NOTIFIED_LOW = true; - notify = true; + //notify = true; + notify = (MPU != -1); } else if ((MPU > SPECIFIC_VALUE) && !NOTIFIED_HIGH) { notificationTitle = BitCoinApp.getAppContext().getString(R.string.morePrice); notificationTextLong = BitCoinApp.getAppContext().getString(R.string.morePriceX) + SPECIFIC_VALUE + ". " + BitCoinApp.getAppContext().getString(R.string.actualCost) + MPU; notificationText = BitCoinApp.getAppContext().getString(R.string.morePriceX) + SPECIFIC_VALUE; NOTIFIED_HIGH = true; NOTIFIED_LOW = false; - notify = true; + //notify = true; + notify = (MPU != -1); } if (notify) { Log.d(Constants.LOG.NTAG, Constants.LOG.NOTIFYING); @@ -130,8 +132,8 @@ private static float initMPU() { market.execute("https://api.blockchain.info/stats"); try { return MainActivity.round((float) market.get().getDouble("market_price_usd"), 2); - } catch (InterruptedException | ExecutionException | JSONException e) { - return 0; + } catch (InterruptedException | ExecutionException | JSONException | NullPointerException e) { + return -1; } } diff --git a/app/src/main/java/javinator9889/bitcoinpools/BitCoinApp.java b/app/src/main/java/javinator9889/bitcoinpools/BitCoinApp.java index 715440f..938fd67 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/BitCoinApp.java +++ b/app/src/main/java/javinator9889/bitcoinpools/BitCoinApp.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.concurrent.TimeUnit; @@ -74,8 +75,8 @@ private static void startBackgroundJobs() { Log.e(Constants.LOG.BCTAG, Constants.LOG.NO_INIT + "JobScheduler" + mJobScheduler.getAllPendingJobs().toString()); } - if (!(SHARED_PREFERENCES.getBoolean(Constants.SHARED_PREFERENCES.CACHE_JOB, false)) || isCacheCreated) { - JobScheduler cacheJobScheduler = (JobScheduler) APPLICATION_CONTEXT.getSystemService(Context.JOB_SCHEDULER_SERVICE); + if (isJobCreationNeeded(mJobScheduler)) { + //JobScheduler cacheJobScheduler = (JobScheduler) APPLICATION_CONTEXT.getSystemService(Context.JOB_SCHEDULER_SERVICE); JobInfo.Builder cacheBuilder = new JobInfo.Builder(2, new ComponentName(APPLICATION_CONTEXT.getPackageName(), CacheJobSchedulerService.class.getName())); @@ -84,8 +85,8 @@ private static void startBackgroundJobs() { cacheBuilder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY); cacheBuilder.setBackoffCriteria(Constants.BACKOFF_CRITERIA, JobInfo.BACKOFF_POLICY_LINEAR); - assert cacheJobScheduler != null; - if (cacheJobScheduler.schedule(cacheBuilder.build()) == JobScheduler.RESULT_FAILURE) { + //assert cacheJobScheduler != null; + if (mJobScheduler.schedule(cacheBuilder.build()) == JobScheduler.RESULT_FAILURE) { Log.e(Constants.LOG.BCTAG, Constants.LOG.NO_INIT + "JobScheduler" + mJobScheduler.getAllPendingJobs().toString()); } else { SharedPreferences.Editor newValueForStartedJob = SHARED_PREFERENCES.edit(); @@ -134,4 +135,22 @@ public static String appVersion() { return "1.0"; } } + + public static boolean isJobCreationNeeded(JobScheduler applicationJobScheduler) { + //SHARED_PREFERENCES.getBoolean(Constants.SHARED_PREFERENCES.CACHE_JOB, false); + if (SHARED_PREFERENCES.contains(Constants.SHARED_PREFERENCES.CACHE_JOB)) { + List pendingJobs = applicationJobScheduler.getAllPendingJobs(); + Iterator currentPendingJob = pendingJobs.iterator(); + boolean equals = false; + while (currentPendingJob.hasNext() && !equals) { + equals = currentPendingJob.next().toString().equals("job:2/javinator9889.bitcoinpools/.BackgroundJobs.CacheJobSchedulerService"); + } + return !equals; + } else { + SharedPreferences.Editor newEntry = SHARED_PREFERENCES.edit(); + newEntry.putBoolean(Constants.SHARED_PREFERENCES.CACHE_JOB, false); + newEntry.apply(); + return true; + } + } } diff --git a/app/src/main/java/javinator9889/bitcoinpools/Constants.java b/app/src/main/java/javinator9889/bitcoinpools/Constants.java index da13fce..2598be1 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/Constants.java +++ b/app/src/main/java/javinator9889/bitcoinpools/Constants.java @@ -20,6 +20,7 @@ public static class PAYMENTS { "ntpsync.donation.13"}; public static final String PAYPALME = "https://paypal.me/Javinator9889"; } + public static final String GOOGLE_PLAY_URL = "https://play.google.com/store/apps/details?id=javinator9889.bitcoinpools"; public static final String API_URL = "https://api.coindesk.com/v1/bpi/historical/close.json"; public static final class SHARED_PREFERENCES { public static final String SHARED_PREFERENCES_KEY = "javinator9889.bitcoinpools.usrPreferences"; diff --git a/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java b/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java index 7b7078b..e3b1a22 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java +++ b/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java @@ -104,6 +104,7 @@ protected void onPostExecute(Boolean result) { activityMainIntent.putExtra("CARDS", cardsData); activityMainIntent.putExtra("BTCPRICE", btcPrice); startActivity(activityMainIntent); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); //DataLoaderScreen.this.finish(); } else { Log.i("DLS", "Data non-loaded..."); diff --git a/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/DonationsActivity.java b/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/DonationsActivity.java index 5f54b04..6017174 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/DonationsActivity.java +++ b/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/DonationsActivity.java @@ -57,6 +57,12 @@ public void onClick(View v) { }); } + @Override + public void onBackPressed() { + super.onBackPressed(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); diff --git a/app/src/main/java/javinator9889/bitcoinpools/License.java b/app/src/main/java/javinator9889/bitcoinpools/License.java index 4fbf2a1..e67c609 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/License.java +++ b/app/src/main/java/javinator9889/bitcoinpools/License.java @@ -21,6 +21,12 @@ */ public class License extends AppCompatActivity { + @Override + public void onBackPressed() { + super.onBackPressed(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java b/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java index 75d90d2..986c1ed 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java +++ b/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java @@ -139,7 +139,11 @@ protected void onCreate(Bundle savedInstanceState) { Log.d(Constants.LOG.MATAG, Constants.LOG.CREATING_CHART); Log.d(Constants.LOG.MATAG, Constants.LOG.LISTENING); - ck.checkForUpdates(this, getString(R.string.updateAvailable), getString(R.string.updateDescrip), getString(R.string.updateNow), getString(R.string.updateLater), getString(R.string.updatePage)); + try { + ck.checkForUpdates(this, getString(R.string.updateAvailable), getString(R.string.updateDescrip), getString(R.string.updateNow), getString(R.string.updateLater), getString(R.string.updatePage)); + } catch (NullPointerException e) { + Log.e(Constants.LOG.MATAG, "Unable to get updates"); + } //DataLoaderScreen.progressDialog.setProgress(DataLoaderScreen.progressDialog.getCurrentProgress() + 10); /*} else { new MaterialDialog.Builder(this) @@ -190,6 +194,11 @@ protected void onResume() { //DataLoaderScreen.progressDialog.dismiss(); } + @Override + public void onBackPressed() { + super.onBackPressed(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } @Override public boolean onCreateOptionsMenu(Menu menu) { @@ -224,6 +233,7 @@ public boolean onOptionsItemSelected(MenuItem item) { public void run() { Intent intentSettings = new Intent(MainActivity.this, SpinnerActivity.class); startActivity(intentSettings); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); //MainActivity.this.finish(); } }; @@ -235,6 +245,7 @@ public void run() { public void run() { Intent intentLicense = new Intent(MainActivity.this, License.class); startActivity(intentLicense); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); } }; licenseThread.setName("license_thread"); @@ -253,13 +264,14 @@ public void run() { Intent shareAppIntent = new Intent(Intent.ACTION_SEND); shareAppIntent.setType("text/plain"); shareAppIntent.putExtra(Intent.EXTRA_SUBJECT, "BitCoin Pools"); - final Uri googlePlayLink = Uri.parse("https://play.google.com/store/apps/details?id=com.fastaccess.github"); + final Uri googlePlayLink = Uri.parse(Constants.GOOGLE_PLAY_URL); shareAppIntent.putExtra(Intent.EXTRA_TEXT, getString(R.string.inv_message) + " - Google Play Store: " + googlePlayLink.toString()); startActivity(Intent.createChooser(shareAppIntent, getString(R.string.invitation_title))); break; case R.id.donate: Intent donateIntent = new Intent(MainActivity.this, DonationsActivity.class); startActivity(donateIntent); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); break; } return true; diff --git a/app/src/main/java/javinator9889/bitcoinpools/SpinnerActivity.java b/app/src/main/java/javinator9889/bitcoinpools/SpinnerActivity.java index 5850d15..ad01dd5 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/SpinnerActivity.java +++ b/app/src/main/java/javinator9889/bitcoinpools/SpinnerActivity.java @@ -124,6 +124,7 @@ public void onBackPressed() { } //refresh(); super.onBackPressed(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); } private void refresh() { diff --git a/app/src/main/res/anim/accelerate_interpolator.xml b/app/src/main/res/anim/accelerate_interpolator.xml new file mode 100644 index 0000000..4b1464b --- /dev/null +++ b/app/src/main/res/anim/accelerate_interpolator.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/src/main/res/anim/activity_back_in.xml b/app/src/main/res/anim/activity_back_in.xml new file mode 100644 index 0000000..b6a2df3 --- /dev/null +++ b/app/src/main/res/anim/activity_back_in.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/activity_back_out.xml b/app/src/main/res/anim/activity_back_out.xml new file mode 100644 index 0000000..d518885 --- /dev/null +++ b/app/src/main/res/anim/activity_back_out.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/activity_in.xml b/app/src/main/res/anim/activity_in.xml new file mode 100644 index 0000000..0214195 --- /dev/null +++ b/app/src/main/res/anim/activity_in.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/activity_out.xml b/app/src/main/res/anim/activity_out.xml new file mode 100644 index 0000000..d7f4261 --- /dev/null +++ b/app/src/main/res/anim/activity_out.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file