diff --git a/app/build.gradle b/app/build.gradle index aaf7b058..2738be93 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,8 +28,8 @@ android { applicationId "com.fastaccess.github" minSdkVersion 21 targetSdkVersion 26 - versionCode 401 - versionName "4.0.1" + versionCode 402 + versionName "4.0.2" buildConfigString "GITHUB_CLIENT_ID", (buildProperties.secrets['github_client_id'] | buildProperties.notThere['github_client_id']).string buildConfigString "GITHUB_SECRET", (buildProperties.secrets['github_secret'] | buildProperties.notThere['github_secret']).string buildConfigString "IMGUR_CLIENT_ID", (buildProperties.secrets['imgur_client_id'] | buildProperties.notThere['imgur_client_id']).string diff --git a/app/src/main/java/com/fastaccess/provider/tasks/notification/NotificationSchedulerJobTask.java b/app/src/main/java/com/fastaccess/provider/tasks/notification/NotificationSchedulerJobTask.java index 23b41a5e..84eaadee 100644 --- a/app/src/main/java/com/fastaccess/provider/tasks/notification/NotificationSchedulerJobTask.java +++ b/app/src/main/java/com/fastaccess/provider/tasks/notification/NotificationSchedulerJobTask.java @@ -93,36 +93,40 @@ public class NotificationSchedulerJobTask extends JobService { } public static void scheduleJob(@NonNull Context context, int duration, boolean cancel) { - FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(context)); - if (cancel) dispatcher.cancel(JOB_ID); - if (duration == -1) { - dispatcher.cancel(JOB_ID); - return; + if (AppHelper.isGoogleAvailable(context)) { + FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(context)); + if (cancel) dispatcher.cancel(JOB_ID); + if (duration == -1) { + dispatcher.cancel(JOB_ID); + return; + } + duration = duration <= 0 ? THIRTY_MINUTES : duration; + Job.Builder builder = dispatcher + .newJobBuilder() + .setTag(JOB_ID) + .setRetryStrategy(RetryStrategy.DEFAULT_LINEAR) + .setLifetime(Lifetime.FOREVER) + .setRecurring(true) + .setConstraints(Constraint.ON_ANY_NETWORK) + .setTrigger(Trigger.executionWindow(duration / 2, duration)) + .setService(NotificationSchedulerJobTask.class); + dispatcher.mustSchedule(builder.build()); } - duration = duration <= 0 ? THIRTY_MINUTES : duration; - Job.Builder builder = dispatcher - .newJobBuilder() - .setTag(JOB_ID) - .setRetryStrategy(RetryStrategy.DEFAULT_LINEAR) - .setLifetime(Lifetime.FOREVER) - .setRecurring(true) - .setConstraints(Constraint.ON_ANY_NETWORK) - .setTrigger(Trigger.executionWindow(duration / 2, duration)) - .setService(NotificationSchedulerJobTask.class); - dispatcher.mustSchedule(builder.build()); } public static void scheduleOneTimeJob(@NonNull Context context) { - FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(context)); - Job.Builder builder = dispatcher - .newJobBuilder() - .setTag(SINGLE_JOB_ID) - .setReplaceCurrent(true) - .setRecurring(false) - .setTrigger(Trigger.executionWindow(30, 60)) - .setConstraints(Constraint.ON_ANY_NETWORK) - .setService(NotificationSchedulerJobTask.class); - dispatcher.mustSchedule(builder.build()); + if (AppHelper.isGoogleAvailable(context)) { + FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(context)); + Job.Builder builder = dispatcher + .newJobBuilder() + .setTag(SINGLE_JOB_ID) + .setReplaceCurrent(true) + .setRecurring(false) + .setTrigger(Trigger.executionWindow(30, 60)) + .setConstraints(Constraint.ON_ANY_NETWORK) + .setService(NotificationSchedulerJobTask.class); + dispatcher.mustSchedule(builder.build()); + } } private void onSave(@Nullable List notificationThreadModels, JobParameters job) { diff --git a/app/src/main/java/com/fastaccess/ui/modules/main/MainActivity.java b/app/src/main/java/com/fastaccess/ui/modules/main/MainActivity.java index b0300218..7550331c 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/main/MainActivity.java +++ b/app/src/main/java/com/fastaccess/ui/modules/main/MainActivity.java @@ -20,7 +20,6 @@ import com.fastaccess.helper.TypeFaceHelper; import com.fastaccess.helper.ViewHelper; import com.fastaccess.ui.base.BaseActivity; import com.fastaccess.ui.modules.feeds.FeedsFragment; -import com.fastaccess.ui.modules.main.donation.CheckPurchaseActivity; import com.fastaccess.ui.modules.main.issues.pager.MyIssuesPagerFragment; import com.fastaccess.ui.modules.main.pullrequests.pager.MyPullsPagerFragment; import com.fastaccess.ui.modules.notification.NotificationActivity; @@ -33,7 +32,7 @@ import butterknife.OnClick; import it.sephiroth.android.library.bottomnavigation.BottomNavigation; import shortbread.Shortcut; -@Shortcut(id = "feeds", icon = R.drawable.ic_github_shortcut, shortLabelRes = R.string.feeds, rank = 1) +@Shortcut(id = "feeds", icon = R.drawable.ic_shortcut_github, shortLabelRes = R.string.feeds, rank = 1) public class MainActivity extends BaseActivity implements MainMvp.View { @State @MainMvp.NavigationType int navType = MainMvp.FEEDS; @@ -130,10 +129,10 @@ public class MainActivity extends BaseActivity impl UserPagerActivity.startActivity(this, Login.getUser().getLogin(), false, PrefGetter.isEnterprise(), -1); } - @Shortcut(id = "myIssues", icon = R.drawable.ic_issues_shortcut, shortLabelRes = R.string.issues, rank = 2, action = "myIssues") + @Shortcut(id = "myIssues", icon = R.drawable.ic_shortcut_issue, shortLabelRes = R.string.issues, rank = 2, action = "myIssues") public void myIssues() {}//do nothing - @Shortcut(id = "myPulls", icon = R.drawable.ic_pull_requests_shortcut, shortLabelRes = R.string.pull_requests, rank = 3, action = "myPulls") + @Shortcut(id = "myPulls", icon = R.drawable.ic_shortcut_pull_request, shortLabelRes = R.string.pull_requests, rank = 3, action = "myPulls") public void myPulls() {}//do nothing private void onInit(@Nullable Bundle savedInstanceState) { diff --git a/app/src/main/java/com/fastaccess/ui/modules/pinned/PinnedReposActivity.java b/app/src/main/java/com/fastaccess/ui/modules/pinned/PinnedReposActivity.java index e10073ba..76afdf34 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/pinned/PinnedReposActivity.java +++ b/app/src/main/java/com/fastaccess/ui/modules/pinned/PinnedReposActivity.java @@ -19,7 +19,7 @@ import shortbread.Shortcut; * Created by Kosh on 25 Mar 2017, 11:14 PM */ -@Shortcut(id = "pinned", icon = R.drawable.ic_pin_shortcut, shortLabelRes = R.string.pinned, backStack = {MainActivity.class}, rank = 5) +@Shortcut(id = "pinned", icon = R.drawable.ic_shortcut_pinned, shortLabelRes = R.string.pinned, backStack = {MainActivity.class}, rank = 5) public class PinnedReposActivity extends BaseActivity { public static void startActivity(@NonNull Context context) { diff --git a/app/src/main/java/com/fastaccess/ui/modules/user/UserPagerActivity.java b/app/src/main/java/com/fastaccess/ui/modules/user/UserPagerActivity.java index c09b3bd0..d657d2a1 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/user/UserPagerActivity.java +++ b/app/src/main/java/com/fastaccess/ui/modules/user/UserPagerActivity.java @@ -46,7 +46,7 @@ import shortbread.Shortcut; * Created by Kosh on 03 Dec 2016, 8:00 AM */ -@Shortcut(id = "profile", icon = R.drawable.ic_profile_shortcut, shortLabelRes = R.string.profile, backStack = {MainActivity.class}, rank = 4) +@Shortcut(id = "profile", icon = R.drawable.ic_shortcut_profile, shortLabelRes = R.string.profile, backStack = {MainActivity.class}, rank = 4) public class UserPagerActivity extends BaseActivity implements UserPagerMvp.View { @BindView(R.id.tabs) TabLayout tabs; diff --git a/app/src/main/res/drawable-hdpi/ic_shortcut_github.png b/app/src/main/res/drawable-hdpi/ic_shortcut_github.png new file mode 100755 index 00000000..c03f4a2f Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_shortcut_github.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_shortcut_issue.png b/app/src/main/res/drawable-hdpi/ic_shortcut_issue.png new file mode 100644 index 00000000..a93225b2 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_shortcut_issue.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_shortcut_pinned.png b/app/src/main/res/drawable-hdpi/ic_shortcut_pinned.png new file mode 100755 index 00000000..2441d899 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_shortcut_pinned.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_shortcut_profile.png b/app/src/main/res/drawable-hdpi/ic_shortcut_profile.png new file mode 100755 index 00000000..6b7b1236 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_shortcut_profile.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_shortcut_pull_request.png b/app/src/main/res/drawable-hdpi/ic_shortcut_pull_request.png new file mode 100755 index 00000000..c03f4a2f Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_shortcut_pull_request.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_shortcut_github.png b/app/src/main/res/drawable-mdpi/ic_shortcut_github.png new file mode 100755 index 00000000..1db171a4 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_shortcut_github.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_shortcut_issue.png b/app/src/main/res/drawable-mdpi/ic_shortcut_issue.png new file mode 100755 index 00000000..1ee528a9 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_shortcut_issue.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_shortcut_pinned.png b/app/src/main/res/drawable-mdpi/ic_shortcut_pinned.png new file mode 100755 index 00000000..f5e187f1 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_shortcut_pinned.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_shortcut_profile.png b/app/src/main/res/drawable-mdpi/ic_shortcut_profile.png new file mode 100755 index 00000000..5aa1100a Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_shortcut_profile.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_shortcut_pull_request.png b/app/src/main/res/drawable-mdpi/ic_shortcut_pull_request.png new file mode 100755 index 00000000..1db171a4 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_shortcut_pull_request.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_shortcut_github.png b/app/src/main/res/drawable-xhdpi/ic_shortcut_github.png new file mode 100755 index 00000000..abcd18c0 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_shortcut_github.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_shortcut_issue.png b/app/src/main/res/drawable-xhdpi/ic_shortcut_issue.png new file mode 100755 index 00000000..4f1c54fb Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_shortcut_issue.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_shortcut_pinned.png b/app/src/main/res/drawable-xhdpi/ic_shortcut_pinned.png new file mode 100755 index 00000000..1ea7b824 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_shortcut_pinned.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_shortcut_profile.png b/app/src/main/res/drawable-xhdpi/ic_shortcut_profile.png new file mode 100755 index 00000000..57e6256a Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_shortcut_profile.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_shortcut_pull_request.png b/app/src/main/res/drawable-xhdpi/ic_shortcut_pull_request.png new file mode 100755 index 00000000..abcd18c0 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_shortcut_pull_request.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_shortcut_github.png b/app/src/main/res/drawable-xxhdpi/ic_shortcut_github.png new file mode 100755 index 00000000..e246e7f2 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_shortcut_github.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_shortcut_issue.png b/app/src/main/res/drawable-xxhdpi/ic_shortcut_issue.png new file mode 100755 index 00000000..5b3b02cb Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_shortcut_issue.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_shortcut_pinned.png b/app/src/main/res/drawable-xxhdpi/ic_shortcut_pinned.png new file mode 100755 index 00000000..f1ba48a1 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_shortcut_pinned.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_shortcut_profile.png b/app/src/main/res/drawable-xxhdpi/ic_shortcut_profile.png new file mode 100755 index 00000000..e8918ee0 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_shortcut_profile.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_shortcut_pull_request.png b/app/src/main/res/drawable-xxhdpi/ic_shortcut_pull_request.png new file mode 100755 index 00000000..e246e7f2 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_shortcut_pull_request.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_shortcut_github.png b/app/src/main/res/drawable-xxxhdpi/ic_shortcut_github.png new file mode 100755 index 00000000..ceeeabb7 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_shortcut_github.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_shortcut_issue.png b/app/src/main/res/drawable-xxxhdpi/ic_shortcut_issue.png new file mode 100755 index 00000000..92379686 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_shortcut_issue.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_shortcut_pinned.png b/app/src/main/res/drawable-xxxhdpi/ic_shortcut_pinned.png new file mode 100755 index 00000000..e8fb9ca2 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_shortcut_pinned.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_shortcut_profile.png b/app/src/main/res/drawable-xxxhdpi/ic_shortcut_profile.png new file mode 100755 index 00000000..49e949c0 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_shortcut_profile.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_shortcut_pull_request.png b/app/src/main/res/drawable-xxxhdpi/ic_shortcut_pull_request.png new file mode 100755 index 00000000..ceeeabb7 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_shortcut_pull_request.png differ diff --git a/app/src/main/res/raw/changelog.html b/app/src/main/res/raw/changelog.html index db136c11..ef8cd845 100644 --- a/app/src/main/res/raw/changelog.html +++ b/app/src/main/res/raw/changelog.html @@ -1,6 +1,6 @@

FastHub changelog

-

Version 4.0.1 (Multiple Accounts, Enterprise & PR changes) +

Version 4.0.2 (Multiple Accounts, Enterprise & PR changes)

Thanks to @@ -24,9 +24,17 @@ FastHub

-

Bugs , Enhancements & new Features (4.0.1 & 4.0.0) +

Bugs , Enhancements & new Features (4.0.2 & 4.0.0)

    +
  • (4.0.2 New) Added a way to disable navigation bar tinitng in different themes (Settings/Customization)
  • +
  • (4.0.2 Fix) Fixed clicking on notification might crash on some devices
  • +
  • (4.0.2 Fix) Fixed app shortcut icons to follow material design guidelines
  • +
  • (4.0.2 Fix) Fixed Traditional & Simplified Chinese langauge locale
  • +
  • (4.0.2 Fix) This release also has an attempt to fix Google Play Service crash when installing + FastHub +
  • +
  • (4.0.2 Fix) This release fixes app hangs on devices that don't have Google Play Service installed.
  • (4.0.1 Fix) Pinned repos crashes
  • (4.0.1 Fix) Multiple Accounts (if enterprise account login is same as GitHub) thanks   @passsy