From 596d4bc2fa3b0cf23d679b570e50430b3daf2541 Mon Sep 17 00:00:00 2001 From: Kosh Date: Thu, 2 Mar 2017 00:32:26 +0800 Subject: [PATCH] added an option to see all notifications to close #44, added an option to mark all notifications as read to close #37, made all swipeRefreshLayouts to not show until they actually forced to be showing by pulling to refresh to close #25, made notifications to be pageable in case if they are more than 30 notifications. --- .gitignore | 1 + app/build.gradle | 3 +- .../data/service/NotificationService.java | 9 +- .../com/fastaccess/helper/InputHelper.java | 4 +- .../provider/rest/RestProvider.java | 2 +- .../provider/tasks/NotificationJobTask.java | 2 +- .../viewholder/NotificationsViewHolder.java | 4 - .../viewholder/RepoFilesViewHolder.java | 14 +-- .../ui/modules/feeds/FeedsView.java | 2 +- .../ui/modules/gists/GistsView.java | 2 +- .../gists/gist/comments/GistCommentsView.java | 2 +- .../ui/modules/login/LoginView.java | 2 +- .../fastaccess/ui/modules/main/MainView.java | 5 +- .../NotificationActivityView.java | 24 +++++ .../NotificationsBottomSheet.java | 43 -------- .../notification/NotificationsMvp.java | 15 ++- .../notification/NotificationsPresenter.java | 95 +++++++++++++++--- .../notification/NotificationsView.java | 49 ++++++++- .../followers/ProfileFollowersView.java | 2 +- .../following/ProfileFollowingView.java | 2 +- .../profile/gists/ProfileGistsView.java | 2 +- .../profile/repos/ProfileReposView.java | 2 +- .../profile/starred/ProfileStarredView.java | 2 +- .../repos/code/commit/RepoCommitsView.java | 2 +- .../details/comments/CommitCommentsView.java | 2 +- .../contributors/RepoContributorsView.java | 2 +- .../repos/code/files/RepoFilesView.java | 2 +- .../repos/code/releases/RepoReleasesView.java | 2 +- .../repos/issues/issue/RepoIssuesView.java | 2 +- .../issues/issue/details/IssuePagerView.java | 8 +- .../details/comments/IssueCommentsView.java | 2 +- .../details/events/IssueDetailsView.java | 2 +- .../pull_request/RepoPullRequestView.java | 2 +- .../commits/PullRequestCommitsView.java | 2 +- .../events/PullRequestDetailsView.java | 2 +- .../modules/search/code/SearchCodeView.java | 2 +- .../search/issues/SearchIssuesView.java | 2 +- .../modules/search/repos/SearchReposView.java | 2 +- .../modules/search/users/SearchUsersView.java | 2 +- app/src/main/res/drawable/ic_clear_all.xml | 9 ++ .../layout/notification_activity_layout.xml | 39 ++++++- app/src/main/res/menu/notification_menu.xml | 12 +++ .../main/res/res/mipmap-hdpi/ic_launcher.png | Bin 6605 -> 0 bytes .../main/res/res/mipmap-mdpi/ic_launcher.png | Bin 3541 -> 0 bytes .../main/res/res/mipmap-xhdpi/ic_launcher.png | Bin 8765 -> 0 bytes .../res/res/mipmap-xxhdpi/ic_launcher.png | Bin 16029 -> 0 bytes .../res/res/mipmap-xxxhdpi/ic_launcher.png | Bin 21121 -> 0 bytes app/src/main/res/values/arrays.xml | 7 ++ app/src/main/res/values/strings.xml | 4 + build.gradle | 1 + 50 files changed, 289 insertions(+), 109 deletions(-) delete mode 100644 app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsBottomSheet.java create mode 100644 app/src/main/res/drawable/ic_clear_all.xml create mode 100644 app/src/main/res/menu/notification_menu.xml delete mode 100755 app/src/main/res/res/mipmap-hdpi/ic_launcher.png delete mode 100755 app/src/main/res/res/mipmap-mdpi/ic_launcher.png delete mode 100755 app/src/main/res/res/mipmap-xhdpi/ic_launcher.png delete mode 100755 app/src/main/res/res/mipmap-xxhdpi/ic_launcher.png delete mode 100755 app/src/main/res/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/values/arrays.xml diff --git a/.gitignore b/.gitignore index 7c7dfa40..2330057f 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /app/src/main/res/values/secrets.xml /app/src/productionApp/ /app/fastaccess-key +fast-for-github-firebase-crashreporting-7lngx-6b5be91d98.json diff --git a/app/build.gradle b/app/build.gradle index 2b2ef0bd..56bf9ac0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,6 +3,7 @@ apply plugin: 'me.tatarka.retrolambda' apply plugin: "com.neenbedankt.android-apt" apply plugin: 'com.jakewharton.hugo' apply plugin: 'com.siimkinks.sqlitemagic' +apply plugin: 'com.google.firebase.firebase-crash' android { signingConfigs { @@ -96,8 +97,6 @@ dependencies { compile "com.android.support:recyclerview-v7:${supportVerion}" compile "com.android.support:preference-v14:${supportVerion}" compile "com.android.support:customtabs:${supportVerion}" - compile "com.google.firebase:firebase-messaging:${firebase}" - compile "com.google.firebase:firebase-analytics:${firebase}" compile "com.google.firebase:firebase-ads:${firebase}" compile "com.google.firebase:firebase-crash:${firebase}" compile "net.grandcentrix.thirtyinch:thirtyinch:${thirtyinchVersion}" diff --git a/app/src/main/java/com/fastaccess/data/service/NotificationService.java b/app/src/main/java/com/fastaccess/data/service/NotificationService.java index 83bee895..090b8d34 100644 --- a/app/src/main/java/com/fastaccess/data/service/NotificationService.java +++ b/app/src/main/java/com/fastaccess/data/service/NotificationService.java @@ -6,7 +6,9 @@ import com.fastaccess.data.dao.Pageable; import retrofit2.Response; import retrofit2.http.GET; import retrofit2.http.PATCH; +import retrofit2.http.PUT; import retrofit2.http.Path; +import retrofit2.http.Query; import rx.Observable; /** @@ -16,10 +18,15 @@ import rx.Observable; public interface NotificationService { @GET("notifications") - Observable> getNotifications(); + Observable> getNotifications(@Query("page") int page); + + @GET("notifications?all=true") + Observable> getAllNotifications(@Query("page") int page); @GET("/notifications/threads/{id}") Observable getNotification(@Path("id") String id); @PATCH("notifications/threads/{id}") Observable> markAsRead(@Path("id") String id); + + @PUT("notifications") Observable> markAllNotificationsAsRead(); } diff --git a/app/src/main/java/com/fastaccess/helper/InputHelper.java b/app/src/main/java/com/fastaccess/helper/InputHelper.java index e63b39c8..cee4b461 100644 --- a/app/src/main/java/com/fastaccess/helper/InputHelper.java +++ b/app/src/main/java/com/fastaccess/helper/InputHelper.java @@ -61,7 +61,9 @@ public class InputHelper { public static long toLong(TextView textView) { if (!isEmpty(textView)) { - return Long.valueOf(toString(textView)); + try { + return Long.valueOf(toString(textView)); + } catch (NumberFormatException ignored) {} } return 0; } diff --git a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java index 7bc07c39..9366fd18 100644 --- a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java +++ b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java @@ -86,7 +86,7 @@ public class RestProvider { Request request = requestBuilder.build(); return chain.proceed(request); }); - client.cache(provideCache());//disable cache, since we are going offline. +// client.cache(provideCache());//disable cache, since we are going offline. return client.build(); } diff --git a/app/src/main/java/com/fastaccess/provider/tasks/NotificationJobTask.java b/app/src/main/java/com/fastaccess/provider/tasks/NotificationJobTask.java index da83eef3..7d9a0a35 100644 --- a/app/src/main/java/com/fastaccess/provider/tasks/NotificationJobTask.java +++ b/app/src/main/java/com/fastaccess/provider/tasks/NotificationJobTask.java @@ -40,7 +40,7 @@ public class NotificationJobTask extends JobService { @Override public boolean onStartJob(JobParameters job) { if (LoginModel.getUser() != null) { RestProvider.getNotificationService() - .getNotifications() + .getNotifications(0) .subscribeOn(Schedulers.io()) .subscribe(item -> { if (item != null) onSave(item.getItems()); diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/NotificationsViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/NotificationsViewHolder.java index 596bf107..94780c55 100644 --- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/NotificationsViewHolder.java +++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/NotificationsViewHolder.java @@ -24,10 +24,6 @@ public class NotificationsViewHolder extends BaseViewHolder { } @Override public void bind(@NonNull RepoFilesModel filesModel) { - contentTypeImage.setImageResource(filesModel.getType().getIcon()); contentTypeImage.setContentDescription(String.format("%s %s", filesModel.getName(), file)); title.setText(filesModel.getName()); - if (filesModel.getType() == FilesType.file) { - size.setText(Formatter.formatFileSize(size.getContext(), filesModel.getSize())); - size.setVisibility(View.VISIBLE); - } else { - size.setVisibility(View.GONE); + if (filesModel.getType() != null) { + contentTypeImage.setImageResource(filesModel.getType().getIcon()); + if (filesModel.getType() == FilesType.file) { + size.setText(Formatter.formatFileSize(size.getContext(), filesModel.getSize())); + size.setVisibility(View.VISIBLE); + } else { + size.setVisibility(View.GONE); + } } } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsView.java b/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsView.java index 394f8fec..87354612 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsView.java @@ -74,7 +74,7 @@ public class FeedsView extends BaseFragment imple } @Override public void showProgress(@StringRes int resId) { - refresh.setRefreshing(true); + stateLayout.showProgress(); } diff --git a/app/src/main/java/com/fastaccess/ui/modules/gists/GistsView.java b/app/src/main/java/com/fastaccess/ui/modules/gists/GistsView.java index 3eddc1d5..ab8751ff 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/gists/GistsView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/gists/GistsView.java @@ -65,7 +65,7 @@ public class GistsView extends BaseFragment imple } @Override public void showProgress(@StringRes int resId) { - refresh.setRefreshing(true); + stateLayout.showProgress(); } diff --git a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsView.java b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsView.java index 6343b6e9..589a2501 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsView.java @@ -84,7 +84,7 @@ public class GistCommentsView extends BaseFragment imple if (progress == 100) { refresh.setRefreshing(false); } else if (progress < 100) { - refresh.setRefreshing(true); + } } }); diff --git a/app/src/main/java/com/fastaccess/ui/modules/main/MainView.java b/app/src/main/java/com/fastaccess/ui/modules/main/MainView.java index 7533ce04..7a603b7b 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/main/MainView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/main/MainView.java @@ -29,7 +29,7 @@ import com.fastaccess.helper.ViewHelper; import com.fastaccess.ui.base.BaseActivity; import com.fastaccess.ui.modules.feeds.FeedsView; import com.fastaccess.ui.modules.gists.create.CreateGistView; -import com.fastaccess.ui.modules.notification.NotificationsBottomSheet; +import com.fastaccess.ui.modules.notification.NotificationActivityView; import com.fastaccess.ui.modules.repos.RepoPagerView; import com.fastaccess.ui.modules.repos.issues.create.CreateIssueView; import com.fastaccess.ui.modules.search.SearchView; @@ -122,8 +122,7 @@ public class MainView extends BaseActivity implemen return true; } else if (item.getItemId() == R.id.notifications) { ViewHelper.tintDrawable(item.getIcon(), ContextCompat.getColor(this, R.color.primary_text)); - NotificationsBottomSheet.newInstance() - .show(getSupportFragmentManager(), "NotificationsBottomSheet"); + startActivity(new Intent(this,NotificationActivityView.class)); return true; } return super.onOptionsItemSelected(item); diff --git a/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationActivityView.java b/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationActivityView.java index c92c07fd..c607c573 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationActivityView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationActivityView.java @@ -11,11 +11,18 @@ import com.fastaccess.ui.base.mvp.presenter.BasePresenter; import net.grandcentrix.thirtyinch.TiPresenter; +import butterknife.OnItemSelected; + /** * Created by Kosh on 27 Feb 2017, 12:36 PM */ public class NotificationActivityView extends BaseActivity { + + private NotificationsView notificationsView; + private boolean userSelectedSpinner = false; + + @Override protected int layout() { return R.layout.notification_activity_layout; } @@ -38,6 +45,23 @@ public class NotificationActivityView extends BaseActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setTitle(""); AppHelper.cancelNotification(this); } + + @Override public void onUserInteraction() { + super.onUserInteraction(); + userSelectedSpinner = true; + } + + @OnItemSelected(R.id.notificationType) void onTypeSelected(int position) { + if (userSelectedSpinner) getNotificationsView().onTypeChanged(position == 0); + } + + public NotificationsView getNotificationsView() { + if (notificationsView == null) { + notificationsView = (NotificationsView) getSupportFragmentManager().findFragmentById(R.id.notificationFragment); + } + return notificationsView; + } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsBottomSheet.java b/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsBottomSheet.java deleted file mode 100644 index 46ef011c..00000000 --- a/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsBottomSheet.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.fastaccess.ui.modules.notification; - -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.Toolbar; -import android.view.View; - -import com.fastaccess.R; -import com.fastaccess.ui.base.BaseBottomSheetDialog; - -import butterknife.BindView; - -/** - * Created by Kosh on 20 Feb 2017, 8:58 PM - */ - -public class NotificationsBottomSheet extends BaseBottomSheetDialog { - - @BindView(R.id.toolbar) Toolbar toolbar; - - public static NotificationsBottomSheet newInstance() { - return new NotificationsBottomSheet(); - } - - @Override protected int layoutRes() { - return R.layout.notifications_bottom_sheet_layout; - } - - @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - toolbar.setNavigationIcon(R.drawable.ic_arrow_drop_down); - toolbar.setNavigationContentDescription(getString(R.string.back)); - toolbar.setTitle(R.string.notifictions); - toolbar.setNavigationOnClickListener(v -> dismiss()); - if (savedInstanceState == null) { - getChildFragmentManager() - .beginTransaction() - .replace(R.id.notificationView, NotificationsView.newInstance()) - .commit(); - } - } -} diff --git a/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsMvp.java b/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsMvp.java index 57261701..e98018b4 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsMvp.java +++ b/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsMvp.java @@ -4,6 +4,7 @@ import android.support.annotation.NonNull; import android.support.v4.widget.SwipeRefreshLayout; import com.fastaccess.data.dao.NotificationThreadModel; +import com.fastaccess.provider.rest.loadmore.OnLoadMore; import com.fastaccess.ui.base.mvp.BaseMvp; import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder; @@ -16,15 +17,23 @@ import java.util.ArrayList; public interface NotificationsMvp { interface View extends BaseMvp.FAView, SwipeRefreshLayout.OnRefreshListener { + + @NonNull OnLoadMore getLoadMore(); + void onNotifyAdapter(); + + void onTypeChanged(boolean unread); } - interface Presenter extends BaseViewHolder.OnItemClickListener { - - void onCallApi(); + interface Presenter extends BaseViewHolder.OnItemClickListener, + BaseMvp.PaginationListener { void onWorkOffline(); @NonNull ArrayList getNotifications(); + + void onReadAll(); + + void showAllNotifications(boolean showAll); } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsPresenter.java index f9771284..c62cb142 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsPresenter.java @@ -2,9 +2,12 @@ package com.fastaccess.ui.modules.notification; import android.net.Uri; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.view.View; import com.fastaccess.data.dao.NotificationThreadModel; +import com.fastaccess.data.dao.Pageable; +import com.fastaccess.helper.RxHelper; import com.fastaccess.provider.rest.RestProvider; import com.fastaccess.provider.scheme.SchemeParser; import com.fastaccess.ui.base.mvp.BaseMvp; @@ -12,13 +15,19 @@ import com.fastaccess.ui.base.mvp.presenter.BasePresenter; import java.util.ArrayList; +import retrofit2.Response; import rx.Observable; +import rx.functions.Func1; /** * Created by Kosh on 20 Feb 2017, 8:46 PM */ public class NotificationsPresenter extends BasePresenter implements NotificationsMvp.Presenter { + private int page; + private int previousTotal; + private int lastPage = Integer.MAX_VALUE; + private boolean showAll; private ArrayList notifications = new ArrayList<>(); @Override public void onItemClick(int position, View v, NotificationThreadModel item) { @@ -32,7 +41,7 @@ public class NotificationsPresenter extends BasePresenter sendToView(NotificationsMvp.View::onNotifyAdapter); }); } - if (item.getSubject() != null) { + if (item.getSubject() != null && item.getSubject().getUrl() != null) { SchemeParser.launchUri(v.getContext(), Uri.parse(item.getSubject().getUrl())); } } @@ -46,18 +55,6 @@ public class NotificationsPresenter extends BasePresenter return super.onError(throwable, observable); } - @Override public void onCallApi() { - makeRestCall(RestProvider.getNotificationService().getNotifications(), - response -> { - notifications.clear(); - if (response.getItems() != null) { - manageSubscription(NotificationThreadModel.save(response.getItems()).subscribe()); - notifications.addAll(response.getItems()); - } - sendToView(NotificationsMvp.View::onNotifyAdapter); - }); - } - @Override public void onWorkOffline() { if (notifications.isEmpty()) { manageSubscription(NotificationThreadModel.getNotifications() @@ -75,4 +72,76 @@ public class NotificationsPresenter extends BasePresenter @NonNull @Override public ArrayList getNotifications() { return notifications; } + + @Override public void onReadAll() { + if (!notifications.isEmpty()) { + Observable> observable = Observable.from(notifications) + .filter(NotificationThreadModel::isUnread) + .flatMap(new Func1>>() { + @Override public Observable> call(NotificationThreadModel notificationThreadModel) { + return RxHelper.getObserver(RestProvider.getNotificationService() + .markAsRead(String.valueOf(notificationThreadModel.getId()))); + } + }); + manageSubscription(observable.isEmpty().subscribe(isEmpty -> { + if (!isEmpty) { + makeRestCall(observable, booleanResponse -> { + if (booleanResponse.code() == 205) { + if (!notifications.isEmpty()) { + notifications.clear(); + manageSubscription(NotificationThreadModel.deleteTable().observe().subscribe()); + sendToView(NotificationsMvp.View::onNotifyAdapter); + } + } + }); + } + })); + } + } + + @Override public void showAllNotifications(boolean showAll) { + this.showAll = showAll; + } + + @Override public int getCurrentPage() { + return page; + } + + @Override public int getPreviousTotal() { + return previousTotal; + } + + @Override public void setCurrentPage(int page) { + this.page = page; + } + + @Override public void setPreviousTotal(int previousTotal) { + this.previousTotal = previousTotal; + } + + @Override public void onCallApi(int page, @Nullable Object parameter) { + if (page == 1) { + lastPage = Integer.MAX_VALUE; + sendToView(view -> view.getLoadMore().reset()); + } + if (page > lastPage || lastPage == 0) { + sendToView(NotificationsMvp.View::hideProgress); + return; + } + setCurrentPage(page); + Observable> observable = showAll ? RestProvider.getNotificationService().getAllNotifications(page) + : RestProvider.getNotificationService().getNotifications(page); + makeRestCall(observable, response -> { + notifications.clear(); + if (response.getItems() != null) { + lastPage = response.getLast(); + if (page == 1) { + notifications.clear(); + manageSubscription(NotificationThreadModel.save(response.getItems()).subscribe()); + } + notifications.addAll(response.getItems()); + } + sendToView(NotificationsMvp.View::onNotifyAdapter); + }); + } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsView.java b/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsView.java index 542ada83..f4c859cc 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/notification/NotificationsView.java @@ -4,9 +4,13 @@ import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.StringRes; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import com.fastaccess.R; +import com.fastaccess.provider.rest.loadmore.OnLoadMore; import com.fastaccess.ui.adapter.NotificationsAdapter; import com.fastaccess.ui.base.BaseFragment; import com.fastaccess.ui.widgets.AppbarRefreshLayout; @@ -26,13 +30,27 @@ public class NotificationsView extends BaseFragment(getPresenter()); + } + return onLoadMore; } @Override public void onNotifyAdapter() { @@ -40,6 +58,11 @@ public class NotificationsView extends BaseFragment onRefresh()); + getLoadMore().setCurrent_page(getPresenter().getCurrentPage(), getPresenter().getPreviousTotal()); recycler.setEmptyView(stateLayout, refresh); recycler.setAdapter(adapter); + recycler.addOnScrollListener(getLoadMore()); if (savedInstanceState == null || !getPresenter().isApiCalled()) { - getPresenter().onCallApi(); + onRefresh(); } } @@ -61,7 +86,7 @@ public class NotificationsView extends BaseFragment + + diff --git a/app/src/main/res/layouts/main_layouts/layout/notification_activity_layout.xml b/app/src/main/res/layouts/main_layouts/layout/notification_activity_layout.xml index c39b5e20..562d63bd 100644 --- a/app/src/main/res/layouts/main_layouts/layout/notification_activity_layout.xml +++ b/app/src/main/res/layouts/main_layouts/layout/notification_activity_layout.xml @@ -6,7 +6,44 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/res/mipmap-hdpi/ic_launcher.png deleted file mode 100755 index b2de32d49878831f1ce72ac9a012be4fdd61f96c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6605 zcmV;;88YUHP)E=oiMMNmO1i2A8uZB^7#3)YV+RzuY)Ab0~>td*h_ zgrXJ2R@*|U^#Vdc1-S)@0p$`5NhHZ8yV+zfvvc{L-_D+7cC(vo5ZdpL&hyMOVQ0>n zbKdj*?q}fe-=k9mxc}nQIRgJ50Agc^ABz?pI=lWy*7Dy5kfv#3Wo4y3BO@c-VzCSq z1Yxi!isy@>I0Qf+j^oS#ashCfrqu(G092`}`lTdE2US%q4~0U9d7f`Mdh}@Ph!G>g z{|>~?Hb7i`eSI&7!*LnU^Op&NFqGrCK>&II;JZ0NVp6@PY2~V_9#jwlM*m-pq_ z0P2haw0rk%Q(<9YVOCbwkIiQDOaRVqvgC9hZX-R!4691g!;Utj-nK|#S+XM$1R8K7y?rU|Q8ufD@( zvpvG|d|v>TZcgeLP2pksy?B4~J z5e)iURW&q+RMfU;_@qX~_LC|u>cwOFVBv(%{q1di`}X~`J0NujAY#rHIXOA6?5a`D zd3=WoucS9m7lC3Yhf#SPM&|K2KZl1X@MjgMcwiJoMTJ|%&Kd<o8TR$iEwm$z0`)gkK-h4I2Z4vN;^oX9P5K(-Ya zmdoL;Av^{;g&3gDl%67R*h#=tdKIiZpkQaMhQRU%TDz zALZxg??^=_r3BEHEn9L%j~=~(=lQ8#zl3LYD%gBdXcOglKc7?qvFgTR4z~^Fk!=-V z7GoLJ9X$~Ltg5OAD=HfO3f`P=yCWC8e91r{ZqFe<_#|h}^us~JSEqnLwz2nkL zFQqW0)1ym(1`i%=-nnz)% zX%}L|&Ztn6jnc?E#+teo1%ErD;IBtj9QTq^j%}R?p!_ryE3VRTPL35OlSvMRLMw(1 z8}{&#BS$**y1N31ce~wpJDtwoDvDwYhr>8f8^F)D3J9q}m*6k}%{(w53z#vK$C%z6 zc#eZt0**Cl_{Ik`OB#YQ5K?r&d1$bTfWyq8UlxbKF47}_qH5TDLdEKG1xGy`f{G4| z5uili&@)zE!OK^v7@i*i2!bF4Js!^kPN#DvfM`!0m#I^LKL7ml{v{FE-5LgNT!dH0yKaA{Iof9=KR9paLiRz)l2||LLsc&FJaAB z9ixe4s~Eq+$;6Vul?b3tSz@3}GWIa4&pJPdnI+aXfOwvlgTdg+H{N)objFMszC=rw z3?P2XmMsIvjvf0U&+`SO6bYbUFo=bpDtP~-DW6QJw+N|<+<2&>f! zQ53=RJh7<0yu5t!(4j;3Bw|rAfXr^U`)Q}s`E!~C0VKH z;2434XIWAmlY(+KT9Qk0CA>JEhs|b-=ph1#4v)w4LUwj`DS!?NI}t$K)~#EIj2ScL zUp&uKk}JX<0w@p&;Py=_P6jRA2Iq7|D^>C80IG2XqClRT5yESe+W{gy6eU3O_U+rR z7&mTQS-b<82q2T!>s{t>IPPQbU;z33e%!W6Lv=8L4vM2hD(p(6cg_}jsNbTrAl6?e zv@wVQME86?-x`O*K}kN!g|{6Y09vH+6U^2 zHHiRP>q=QQ{Di6@SX_2l9~^c3P8z}@|hGZHVz6o)=rRcLB1^l5HW}W zq-mP})TvVs<>lr5-sl&_0CdM4ccd>{w(JR)%k>aTu+s!c{}4bc%feVy5o^KPSr8{< zDFiyHD&~~ME`A6J7&y647>h19!Dh8YESbSm*L*(T>x&jGx^MB~#cd|v2oSe?`SPB3 z-F4R=($dl{E_lQE&A(6wj#QejV`EP=7lt~}>N@1U`ZoQB6P z(QwNkbDKXDWs$mP&z?I*j2Q7YfJo)m2$1FLufLu%V8DQ9=msffI{m>AX1=fBU}JlF zBiSGm0TT0U9J1X4APFNnFsU;OXSjEcL&5s%M5Nnv7BQ!>va<5Ye*O9p29aoy0Yuld z`uh5pa&mHRH?rr`lM?RV!aD|60$y^3~;u@YGr(!~X zOALz|8ynwpxm+^<_^CG|Kp9@I_kD-MaR~vWNAF=Q{6xaWN->5Uspy$A#hgSUeY&C* z&-|sV#UVF>7va-jkV`c@=;b5+nu?1tpn&zyAxH&DIv2HnoKC(~lG!^27qv zl_;gknl2~bg%Rj*J4N=e$9ktLczqIwUYYH|YakG)PD@K0Mj=`}K-rQc9TG(`hXtpV z?jUA=%%jHNy^R>mN)e6eq+E>1sgWxUP9bsCILMJ-bg^KArYp-e8O4hAW#UwrIVJLZ zNE0Awf-e4s{CKFmsJqVX-cOvdF! zx@R2?J!FpK3IH?$kQqQEL)nU=)N&jb0f;>3y)_{`@`-@PP}cxiI2j`yjkv9-8NIU8 z+q_g`yc3^a?o>}1X4YAajdUfAmy&rW+^zW2H<{S!bHT5Q&^loiy*pjhu<(*FCJxY( zXwm$TA_zi$B7mHJzyF}sYRzTo)z7OXJoc#okCYrBVuFL0aBHC(6Z--VyG~bTI#Vei zc5oaMI9f(<4e?W(J3?b7*0%uSd0Axp^+^ZkJUc2x!OY(*}bm1uG=!HbDO3r0%#UX($!sD8h{+HSX(#50Hh z%Brug|EJ64x`+X^uO^5`J~hD|OqO`mFfz-Bhlhueo0%3_g=oc~EeMoV4L*tV4Hv0Y zq?`4sMm)1R14g%Yda=+SrW2q7fZYt3NkPSB9Z1}oTm5+D0Pv@3XF?y2+So-EPmhvt zW&id>zQ^O)?{qq^j#ttoLs^xTmCO6|>2oUs=*w>dcxZ_#wIT-3d&9?_(QpZLv9Ub0g*EI zkA@1!v+I4e`)^VtJ^XoKpedX<1K}{K_|>IBjOv@-CSujq)qgH5ETqI4nfW#= zM$6#%?6c1v965626HMtHZ}8*(Z6?$PI))h}(>Z1tE5`Ux;L2!Y4+AG4saWudgnu5_ ztr0W5RQ6eRrGWEubvldh*OSbBz7 zRM*skd;ev_u@>4u+wsUYEBM{mAchuXwB?7&%E}fGA3pqPN-`S#AOa|T-MV$x-*U?> zuWOpdMG|D5R?OZi;HWS03XF02uxN~cv@~73SPGLExT8wKFSe=hL^n7Xhc~W3#q(ED zpr}_Ck}-)fg8F;zvk+dZh-Dn%ZV@z;j^J?X`KE|?)4?QwQpAsLlkrhqMnZt{tYNGg zFQHG4zQ8=sYwx}H-pt99C$9t0Y78}~18Zq%>5zHz=54fCEIr90w6yv$cbkGw8xn6G z`{{Wt_~Br4OqGCEI}i%vrTt;NTCTfyvF4nroGSi&J@WMEb(I(wqVLYYXl&couk!jYzcw3 z$84*KTXBP}eR^~llZ$n|W%QMdGhvo#?@2$Ve?YEUR3XPrcVMQ9-(JO`Fk5Fai5jcI zyi*ax!hP-L-q`fkzCJuWS|2~L&*$^)d+MpD?pnHZ=^>W9k4cyn6&2-f+O+BMfddEL zt0)Rba(tl5i=XVsgc|2`(Tg6t(2wiS(-kxULHVu0ksJxrlu#@Hc!C-St zpcu=v_FVW!M_MswN8&;O^2L1I=5cBq=br=M3d-N#*9JBmMwe7X0sI$8%WWu+ULjWW7)B~1i-~PVZ1n=>P+nnB7n%7UA14r zt6$kV>L5~foQ(Ao1L&QTkrF^n%`LcjBaa4IXHh$d5r{B8FNpb<@^CuRJ22>p?K1v$ zqT@n+zpx1pUSe%CFp?zIm6n!XzkK=f15E!U0w@xbRa8_gD=sd+jR2xmI9k_&pKZ6n zEz^tIG0m}RSaY?4!syB|5hLd9INpkRyKV5wy672|>g6sUp1VR{UQ9RDidL_0cz-P3*gZb-S;ro$P;bPGnTw7>wS23w}?F+dz)v>L&bz# z4;~mHB0uVjMYpv?l=RM%LHv9hA7lMU_gvMp1&@y8kdvu9h_WoV%%4C1<|Rv(ko9Wr ztZ+!ck-+Be+_`f>NlD3%m^Ir|)q*GXW<JS}+d zun+&JwMWEbSh@!{4FHDs$&AEpG&r`)BAJ;t`ZR}Yo3Z|ojL$sTNaJN(-NS?b8I*=R zmm>yjYSS8&@Zw$>YrZ5H+j(FYWGuL_31iRE+mIDKc<|sKhYuhA2z^b&a?!~cM8A`5 zc0BOF10@RC91Nz7Vyillt^}y%AtDGISkAeX&X@y`R`qRvW^7n>n}*bv(+f-<yh7FsgD2j;&R^QZ& zU+v|v&7B3x53-{;Q^mYXc?|1mYBTpVNaIOXiGUz0Lz6Q`{K2GR7 zjHP~z0W#ey`&PodPgERgY9Ax9eVnrib4RGi&DPl?2!ee0@ZmS_zWeU^d-m+14V|?8 zCB`vH1`zd}F?;sx3+KpBL zika9G3_#_p@o@k;BXul-mqcAGgGHdCBLU3(dH>5#EEodB!H#3Z1d*LkCv2_ zOsDToNvDvwRn<4+ts^2nZg9Y(w3~l{)6hSY!{xm>l=R?Hl*yr&okyA}`6mjg02B{W zP}We>qT+;C!-0AY+fLF>d(E)9U4xwuQ_9N9-W)r2?EFwD zL|!umrU}2{=!`)$Cepf&Ns}fGeE#|8pDrpYx{~Pv0?E_j$DZmS)*Q>k@eoDK?cEW1 zGE9Kor0-BY&&6R#jt*E}IwHw;QQ#o*?X8Fj)B_`4qynM>VMT*q)^Ms7IPTH#MT7pS z0quBgkr2r>QQP)ILvK?nruS>aWqqs>2hy0Ys;#ZvGk5OXId8uCCVj@~Wno1!mL&S! z_#2u1tj8XE?9w@N=KR{>a1=3+h)of5-qef_D-~>N$i*qi0x7bGx+C^%4s^#V=zF0l zBS?Ud>p+!_$f`tjt6sU#5Kw6AFbPZYgYH^51++=(nw)xEQv~#IX0};OW*k~tT54Z; z<(0W}=gy@se@Ih(r;X%H49UlLKKI;n6Yjk8&V??QtB{#;@{jfCC!yA-pw`c!HXx!&65vxr_z5&B9BPSEuJI$L(jXNK$vJe0VYti+df61@+co6b z1-R@MWLh~`EoPXaW}h*JtR|gJO-g`hnGIH5+{uW5PZDcV@Cv1u4G1X7s0wU>SdxBuU=8ckhP9 zix)5d%U}LNpNLbHqFdmcEw=J5|G8S#aQ?1 zss@$}xI|Uj_}^4jRT>)`8~^_Izpt7(bLKipk|+QrQ%)PAy7j&4cL9jCB@dAj)>*gQ za?821X3d&9bm-9Qva+&rSPJ%Z!RRi#NUXhHZ)16R`KFaCSH87&?OOVRhk&8%AZ-p$ z%{a!rI8`gw*?5UDRQAZ|*RNmhb=O@tXv&l+*O!!(Ov%p9&PcU5m?|Lg&(Q*SJRbkP zefu_T*s$T9jT<)}I&$O)dB+3{neqSJe=HDZ;ixD@3fw_pO`A5Y_}+W(y>rl@L6>D` zXQzvzXytjHOVw&611ze~G+CBIO-)TLUw!q}&ef|||8e!|)d!;iCjmoNiZ)?(TcqOO zdnOoU?31h4fQ&$q#baQx zD*;C$N&1UUVqPRpjW#6F(0A+UI)qLFfY?D`u#5|jCd;@3*s?Om5Q~B)qo;1YL!;2gP=0B zRcliYgXNY8HW~!vC}N3gkPtB0Kz6hDzN_kz;IJe~ha^e* z%;WLw7&2r?@O(*~Gl9y=O2fQ)^CnuY*86y#p9;WsmS7^1BvnVF(f3|?<&{m9m6h^Y z&R2(@3jr=14$rV!t@AmK8*wh1rp{3mWp6YZebH{WR{=OHQ#&gHUaz+#J3ISLp6AE^ z6u?v0kR)mAsZ*yO%FD~E@9FwICBOxP!Mhv|$6EkgJze}9#|1*6&_hnA^ZlM^qbCIT zP$=}g)oOi8wK-0k!k*^{^0aA+qFD}ml1Vunj%NW#-R*HE0tEie*Y{%1z80XY4~Geb zJW6s5Fc=IfiSs2wfa#WH8HZXWRC^?R(WGGF00U+XQQmeq91nL#qB{bHU@*9dGZ=n% zLzM`>U`PmJs2jNV5*}jcguN}A2h;5|DyX^L2qPyib~>HU z07x69x+Kun)^@Mc>0J56(FlHBqk-3l2hw;+Ht^_39#>vyOlYJhCdDLPdrZKqyCfVs zsm)^Rv*+98GOj7KAruPD%+AjKOS-kw5;%PL@ZjR&;<|V|?pn4df_Dy?P6N*tqs^`> z;4rt8N4|rDKL#`g0DnwDT++m5GAPKja462=;4lHl0y19xO2U?-%~mHSS*I$Z;xS1lPNK;!`G4}rT}IGU^N2%c=8qr z=j`~i%LD`kKh^rIzQEXNaZ8lBHo#7g3V@AO|-SO^{(99+z+}V zV2;P*yG$n2FiDbB0u^f|w8V@^Cn+uLC97Y*cu&EnvwtE`;1IE9IuEP$-0{YoQWIjX)`TofaU@SNgP|#UNw* ztuiuPPE`YxbHd^9Du=^y8_Nv|0+p4O?q{EU_9(}3HriYe1nfE%!Gqg6rLQ*`y<}6- zcLly%Z6w)Vr&+!>M#S|4?J${4Dgi}NA`2HTEU2ukY^70*0C)KC;hP5z9QaTABRQ}? z9K$`INN5apDyb_!=+5rb`AK(?hpC!ryq{A+)lEFI92Qjzbk*0_-%?UivYK3wq2pUy zTmR6jSFcA&dSw59-W|ic2eq&D8=j5iyK?d~*?y{~<_uHtn=-5F2c(6QCr|#-?RGy- zX2b}X1A#!b)9IW@(I*g&Vd`obzIbw!?XFN~W|PiLx-*?5fpp>IE|ZL{w;2;!2nK^2 zT`t#66pa`{TO<@G}BgqA0d-9A~2BMdic(Q|UD@!s)}qg97NAqp6cpyc*6r8Xe7ilA9CuIbAbE zK1U(D-W$ey^)7rB$cEApTl5+lmLuYCHyYKlf(RIm#ykMN1c7)we#BrfWK#KX|0W3s zbOacH%QM>X+!b+TWjLuqOe7bkp>!k?W}_%+n;#bS$aLESK`h>F#J1LKE&AzHKQx;N zXjxg7WuMt>9-t?X5eNkK*le~UBJl8L5xZNHHDEW0SayvM{qr(aDX^IQgI~seuZ$6S z2K3L=vSn9Y8f#*j0y1`;ka3BdLvgmIK~{U6X!YanZ5i-O<|NB4?G;xGJ0cK?L_98+ z>v90?OaqSA*4DLISy|(Wz>_sG)SR#+7Eo*c{2-pY+60Hgp=Lz_Q}cs>$7>|D?k68u zQqE&+e{ zm4MIZ+v0Y+rvnHv0#=X5^J-yX;X_2=)w(b~@Fbs8{r=J*rd;eul(w;098*>aXi6*r z^l`{oS7CO(;+*kkY1fC4NX8^#p{F15KJFnf->3Ndsi8n-W96+{{Gvs3*|c){Y6Qjfg7x4o|_~Cq^)=uQrDW ztokN|`CoQA@sNxNR!riNk>Ns1OUoyH`}Vz?a)74G&dXd?RdwgIY13Aa9aewSj)nU& z5<@2RmGIIp%&b3Eoo(*c7``~^Oh|NeuOOCOXH^}Y6<&-0MH%WZp57M5#vfgY0&zrU z2+Jp#;B;ylAQO7#vlv!4uqddY@=`x;9;!vZ>gwuWR#a4c$htB;0ebK4^?E;bI-M7{ z`TV$VvjImUHgz+HNyf+1IP}i6skTkN(%9UFMRhU`1Y8)F5y1RW2K39%R_&C9StcJM zK;TYz+py?M5xaaY46=vtOqqhBJ~=GI!rLCj4Xb7Npk>k1wo&f&q!%`ox?H5!pW(32tv0Vm0)hETQ{jbo() zy^|(s4viNj8L#h(9xG|Z9V0SS^YVJV|1KyfxD^2XP?9*MOLs10n>TOX z)e9CZSfeP4gGl`2KoDD1UItv~;$Sy%FdC?w=i73sLa6z_1 z4bc?A2snk*ef#!Rm6n!L?@Li9<8tzABD+_*&mPEgI$)tYA_z)0k+T)Fa|ii(P7Y&M&n zHekRRXuV^0M?mlFL_kl7zKcX6;Z>_vy)bj;%)fS+O_$(%q5+15`pcYIvu2e(`Q($& z6%`d-!J-WVu9`~f`AZi}^gRPxhXmpAc!nx~_>-G5nj5?jp3?SEkX_b;Bxd3=YQLF&)s~`vm+-~<_hr{t} zPEO8l00atqUNC@MC;-qr^dxYr)q11JWEyBN7zP4JZy`z534*ZR?RKwkXlVG#4~Xao zq=in=ykX8K0J6|aOG_`#&CMNSHk&8tbh?hsyNvjLB}vj@m&^5TWo2b?VPWAR0Ot*i z^8tWv_Uzf_sZ*!knw*?G#b7X86`%N8_Gm#6ezM!`|C~R6{>QUt&n6mU{-b42q%qpL z1VFc9#fs$N!-tPcN=ll3uCzT?DUwwW{NHa|jPV@$KT@DB32T&{o2m@(s-`Sa&DoegU^ z8vy8c?AXz%XV0F?^?Lnf7oJSxpOGkv+ji~Rbyx4+y?^ybOz{tL4xF&e^))p$w`FE# z{!a_W@GW++XE;z@ZEfxSSy@>hwWM!oDGQ)+jCQ;IPf1Bh&+-?l)3wwo&QN^K{JA8B zMx}PU{TZv(`d7-jTY{2WLOQxzZn-7t{rBI0!E84FK~4A!g#RyKFrh17*|oV`uGhwn z9sA#_SFd)SDF|l@fc}XIE?#Ey8gG4JvlmTX;PM%(&I7SCez5OuAW*GXX$1 zc<^A$#~**Z)L<~&y66`--uNXroL&dyCIeUH>oKN_9&J*CKo9^IidFDh&Hy0cAGL{C zvPZ-Z@JrV+k%n zuUbgq0m(}S?!Q!zYugxLHLF`ivurtzA2Cg*R}y@qTf}$A1iZdO#IgF|KuSeo?~OVM zt49I_X$deIjc_;|&!(lNkzjQp*r>8h%8q=Xl!FvS}t9})*Xt#*cdO#8Igk290$e%9vV03pg5)u+% zFc?r-S$S7}e*Opk=qRT7$d(`Tk-h^B8#iw3+^=81jglm#5ddzt8-Lj-VqKY!e)xx0 zS&_fcUaf$8d+O0Y-ynlP&uEmS3=LxmdwJ(dTK{927ysHNV#moK&BO!1t%U-f>92>$ zWRk5wr_27{pw(|)JRjR|W+R5%mj7C!SA zG>PFIba=3r9=Rz&YX}2WDIpE*QS&E^Zp!OL{BxUt&yR$vhuY9u6hx=(n(D^VVFsAZ zW*Gpo0znYA4;nP++6@~vP&GBC$S76-nA3eJB_(AFX%Ia<9uLY-H(~NRJsd)?+!KrD z2k3|sVwM^BeNP?k=&T1tQ6$KEH*om0go;Msc%uZnSAx?6ctpTOwMzfPq?cee>R>ei zty6U9nyJIZ89F5BiCQGM1xcow_x6jhxpd+5qL_3f;nOM8jUIeF0?15Blxc`rF9jy4 zsi{xJ>JMTCz*tgJa@iGET(N;NUJ^c800FSA!ih(JFo%R`YKj?)hRGHo0pzID%|Mj{ zsBMbALZYN3COiT$D-lRZ08ZEeC*`jGN0@-)1i+*dvE)WKy5=OwG(;BQr%&(Jty>55 z?b~--EdC%C0Em?q5tmbNdKqx8$#Iii41%TGL(S)yd zEn)MJfWKemz;zugApnroy4~(gX0!PQ08x{)XaLC6bNu-6NqKpBRA7_MS&o^#UfBUJ z+U3Dp`>8=e{SlAmhjG5?Uy-o33`wrts!kdRQwE`pDM2!Q*(6mh6A2!K|kc&7d#jGk0Z6t{3= z@HuMS&*pMPRuf*o(FXt@39;`z9#3h%e*G@nv13PrR&Edp08?pc>0RyHw_n6xJP$xq zQxnF2E}^2y2f(=!KBK}&n%x}jkB5Hf*dA$3czdWX7obRpPbAsgjvP5Mxv;Qsx!(%H zj9Ci+ihL|ir}L}C#KbF=0I(300JvwZgd+}L6r{@0TA#woN&D%X zU93(l`CZTgxKK1O^`@q#%}Gf~Hv*uFX;^Zm1wg`z6)P?sHEPsWr4aZWfB<;#D-j18 zlEP#aDSV8_KePn(!~#&f+E2$9B)Rax&5$Wbkqd-Od*#ZNSBxG#nz}2fSQqk81AsnD ztgNhjIwvP*h8h6mfGG(h0Pg-mkIE)f$YJsDz1oFqnv*{a=D%-=u(LVBr{Cyx64s4$ zBQwQELH?RhSZTegs%lOTpd3bfVV0Fiao;-Oo0NRHjKX?FS{@=1?%hI3&#IV{y2_`Lzu1pNaOf8C;g_#oND2fZ60*C+4f8bj;?>n}1(aRP;XY z2Y3MF?6^j5ikHN7H`# zp1LJg3>VR*l`kSv`hv2uvgg{iZTkYB74woLwN9z5tb8LUCuc090iOF8?(kyK-tfhD zUYO0%c;4ESz{Hc(H5;U6I9@G>es6a{E>WvRL{(K)@8{;`KEOL-9spX@wbs_wuF1&A zC}IFG?svI8xaSK22W{%D{%0cicsM^+K9B3T7*LNj=jf2)#s7}f2Nvsj8mg_W-ISG; zHO%jb~{NBi^bB8zT_*P$8B!h{kaYfA!q?-Ds(Nut5SkrNU?;H=S%o> z-bB5K4{sLGJ~O;T-PqXpo7HNi;--y7LOcLe&`G!3?b|FC3vGs$0bq$&NtqKR3k113*Qc zbdSfg&uBDegfG4~;V(ajS3R}G8(Hww#7L8+f)>3dK!jQEh0$NJ^+FG?4}ctsG63k603g91SMonCzAxSF#%p`D>;AC-k!Pq! zpX6$^x44jIl8|JSker}{#VEmSfIL}NM^UyBlF&V(1h438n)L`ei1g}zFNi+*(R+HO z3o`0~L<5kVAjz#M2}VQU9IUUY-X)>RsmGB%+2A#Fuittlb( z5@j!_vXG^k6KGKv_c=d~vK5{mla*MAYH5kJ@^m9UElb4u`qrouLlrJo3Y>7U3)A|B zFV@q!3F4& zHPdt^{8;u1L<2(0pQr)B=FRU1VE&HzyrU=U@Y}tyP5m^lM#Ks-d(S;}b`IahK z^DfQ9;c!$ZCnxvvTYxG68Fst9gq$!Uz7)du9ubD$?~h~8n9rG1sfZ3Vyd*VIgje#!i+0b0U#&b zSIYuOy)*0T>NcgNrL|Q8@cMQE%YKbaLA+qn4K6(2vl1P1Q{}}9mY670bTz@mx>+L< z5J~`POwFjvzcon-04W}U@Wj>(9CZb1ldArKKi{}cO_+8?=vpzI-)6J@mY$w|wVDs0 z-^)=@Wo6~6oSd9~N&x=7(}Q;os;vF0*e3DX!|lp&OShCj#{i|~EIrrKMlyAZP}C?X z7T=&6RdVz5X}j+zwauH#6+f~9qTkJ>Hq6}976L^|F>Hgmx3dEeUzQMPS7DS}RaLbm zH#c{LS`>BIyYTwHWKAvNFTP7sJzgH*g2iG9@E~j9Rz^9s zP6@^Pz1VrmCz(DM=`g0N5gAFojeTdbVS|sP9BvUS4hYzET!dQyx@GAwwwnP3*5G+q z^vBZ>0YGctGdBR6Y*{hgN@Ys72Hev-Da;2PJ9cbkyLRp9&H<`tGbI+ki-$X$#O>Xa0vf>AMfec+V2yxBzwzRDW9YEd9sSA;Ms&#vZrX^I zmXr>bgn6P-#6w?taF8yWQ(@}Be)&2BidqN5Qyv5s0TKXf4mdD(-$j8g@JND~)vF%2 zcMmEbvw)pDcmAz+@7^zIWx{eT=z|YF7<|zLub#P-T&EVpZ#2!2kbr3hzEa237dd2I=eWj5pUce$tPEaVLZpaxW$9__Nxm& z5YBZLF{3EBz!57Qu^JX>|Ds)Py!5mGJQ|_oO>IQ{{d(VeF4I@_GP(?1qMhUy_rPt$|9Y%Z2KC2ga>4 z!{$}*gl0m!y-foiz04N@uwEHf5oF^zTpkSlP(-~avQx`43HanT15%TM8z7=tK}ZS3 zTDjfn>c09}aaQH^Uczu)xD^ zw>Ma=)=L3YYpn;!D`FIi9zA+=Nt-rpuIKjw5Dz}EPQ-qDazsDyaMwoM)jc5){jji; zx2W%qxH0VqLqvzhqLsI9^y2c?!S-)PWm=Qq7m!ZWyD{`5Dp`atASsPu`egzp_VigB zvjU!m==$H>Dd4Sxk*~i)k{$02(;+FzSBzr-l$Diz)2>~+iT)5YaO<0}HDQW`e){RB z$BK%IW{}X>Mhr5;f0VfKVVPAE0212cJsNO(S91seECy#CbyU`PW4HFg4jU3C?;`BNyMx+YB1lDi^i&Yao*x#ynyls;hDFafZsv>uQDoE4b9 zT6#XMhaGoz^A)04$1nlFThl+bda>+KIF+f5_uwTSx#vbnXKGr&oG(+FPxd=8duwR! zqP2!`U7iasUzZR_8u@w{17O)659aTVYyp3}tOnP2@;PAEFG_QL`st@{o;!E$#%Ns; za$gYnfm5eWeV3V;*@jgO2>@Gz9e1xwM6FjlBYvQ}3zII_lAy*$THYL1;KZDP!SfIe@w7=6@b)iWytY@nB%h-9 zVC7AXxG2L10NXQAU0r=7Cnx86j{gJgiK?A(@?ty<)bXp+FvVe81r?S zf8{})IT`p5cC+KY-ahJNH7g|m^R@sV{H7g*^i8v2!SzNYB?Tiun(yY#oB!FrfB(NJ z`JZN_*4{uFaq5E)K6v>nue|aF4ZwCpk`=5u(1^LagESN(0J@iOq8I;rGliky6vTi$ zSzC`g)>+XcM(_g^6O%>_aiUdvXhfkE2`K?+bU1PM8lcQY!Cm-+37^7&MFVTlJwH7p zc4y-;3YzeR4*P7{06f+06mGl3r~Pa(h7|9ihaS4|t+(FV34rcILEDuA56$jqqM@>~ zvJYFgZrz*r19kO{nEXv5PI{75qZk@+`CvCLZsh}jk0=;7lR3{`--NHKGt>p+|8!7R z9iG3|tQyj4`2c0)vS70V%gZvu4(DmFm(_-aHyJ~67v=+)@>SYg7`Do&nTWMAI`Q6( z4rHWRLux?Bk00OBrcImM0Z=L!Q+G5AM>CczSu$qaxN(11hNH#18u9w!R+?$~qdnc2 z(8K4@SQw_vEPpAh!{a5Hu!}*B;yF6i;KuyEwdh`u5xAguqaXsh?34|U{Aj@mPtbYt z!lxzBdA+MJ@Z!+(5CHs~R~>X=)@C9HHJz2@^2>zYLG5SPy=>XCX%i<-r0ka#VZ!db zsMTR5M?;yJnYnxS?)@S=JG%`}Lshj6xbKG))OgjGD0^gh@z!8nNFu@_Dwfy~oqe^h z1}`7VMWYzH&_l`0^ovj6hHhE%82mQSc=7;NNZVFgi)VMW3Y)K4=f(YP%Q3olrX08P z{7>`c6>rMd0)D7er=M)26K`MJh`cOc`Gr}2b#--F_wL~% zxOnoNci#CI-igwMeYmR*uly!APsk5mt8_XEFI_F*`u4tc0HPt^F}}Qlm3c`+cO0p~ z>Z1wR<;aqitCyt)H@9`8SNrS`N{Cd-R&&HWZPI!6msex;Z+et8X2UHS&^56Z!wVef z-zh6lwN-92VqK$%O{6fNk zI`wYwqSR_Uf3+UgWMB1@jZ;%obF!$YXmDw1Dg8f#Fy|Z10_b~ETMBwJmn~a1e)Q8oF*^^vrw5&fKxG-WS|N_Q0bkf6VA%n6;b$2f_-DTw6y{}y1PV0%^5x5)nlxz= zZBL~R2)ess$kwD-03doIE1=p#_Tj^am$z%zPL7C}HW3i(57l7q{sJ^fYAuTr{@4eY z+|yTI;UglxVo77NUJ;Q-mM{god;72%P_oqkoOt&xZQ4H+O%nRy!qyvbh{d+{hBv#iq>aN z-;?X7d_L>jZ@+!!nrp5Z&qoI=()e_*4R0J%2Z4lh`9;7}SL)H#zski6l-GU+!kI2d z27?3Ny+GNM1q19n{Bd+$hffQbvq{9J6Y8EOQRl@U+8x8q-O~b*6YoF1{`%{;hYT4) zH}IplpVs<95-;Vb(EwmpKqQ}*o}QjlQd06>VPRo6#;weW%Eh|FwU~c6A2ovd#_dFd zge!A(nAF37etF?*zRJb;SXxW8G+&L97|{GH17^ob5sP*USYIx|=~Wj?mcfZ9I+dfS zqmOo2*vfoWX=&-czJ2@NRaaM6&a zm}6rgkZ<_yM6Fyi-)zr`*vMO$3JfgJ;nG$*bjzX}yVBhgebZ4}`HGir`msBe^2L$c^T#zJq1fa<) zq1p*lG)g#Xldz{ol7((_)Bn6u7YaXGj?saM`4t${!2)YaiY$C(pA#wIzyJO3CmwzD z(NFxsXB+XNcJRjv0HY$RL(`gE=0_iW^vJMb!yaZSI}0i4l|3t~>+pS4qkBORB?w%z9i^U_?fG zT1ZYpxdP*RwqEefH{TQw88YN~zwl|}g=WmJW^eHV!25%=w6wHVYuB!Q>GI1jzm6@s z@a=ufN6;&M?r=C!Q*Xz%lREr-+JfI)X|Pd`zG#FHW#dOn3!aK_6w7BBo#<$;N53ow zdSvU7nU;*C#6&q4VF@97@*Z z7y9(+a~(}onP4&DGhpbI)s@IsoNDyqqysqFq{qo7BWxZ$>b(i_#tEmGAnyfmOOZDQ z@)yKgkO=~eIuVI_0aV~iHF}Y05^zzXh*n7=a*~0pWD}B;lLPC`Ovvn&Wyma9Bg&;~ z+O}=mw?l^xoo=()sLO#|IBEVlxp%Z2sQB{(s__yC*(+DBoIY^iz|mx)EVN_7Rtlee z&Jr+oJbTaAa(q#X*sQy&vuKLfTt2^GNgvC;m6DPKjJDR12Xu@p{1@U82{K0YrijLA> zeDTHKjUPXLR&H)?3J-!(%UOwle^pDAqFq2N-z$YLhjjk`>cLw9|C!QKDl01+mo8m8 zXZrN%pZkSR(GGEbvoycCQIM7+r*Z|QzmzAWjT||$^PD+z=5_7bwF_~mns%#!BZr^d zzY$^YV-d3I#1uW~e1fMGuo_788S(x8{reBhnl)?2C!c&mcSa|zr#Qb^oUfecnOXo3 zBv}HLEGXblO-)VBc=z3RAG!MKtH)+$W(K@yBrR9VUYjfYkVu0ALXDPWF7_Y8e_vZ$ zD}4X`_sb?vp1iQWzMlA=w4Ulaw6u7^{1+u21QIj_`Q)6*8m#x+b5GAHQ>OfPw{G2f zQvF2vPzwD_wLTJHYUK>I&!`V{&z?O$FIceP<)urP?)7UtX+1ex;` zATVnnAW{}ASa8dT5hMPPmzS4Gb(9P7K?TK%ii%UKR;_w%>eQ*9`L&%io@qS^zd4Du z=H;FZ09bTIlthvy-$1mKl9!j4F>~h3p+klYnOIOzkWUNY7s7)yzP!A=V(r?sOXkj< z`}v6zCn&CGf+t5yf^QMZIa@wJOO8ZI84?`{0005_Nkluc%lhhxW%?OL~P-O4$0=6uu8(7ph?r|NrIYw=Z?|sU`m}A^wwKjvO<{dO@q$9aCQhekLqkL3v17+}?%TI-`-Tl0N)|6( ze85jDq~RoRCUg=!QO#MQ8?6|=r4=pOcybBfpTIGzAd2Fj^to};q)8Wd?%cUePEJmK zetv#CvJi{Kl4&#=O-7?J!E83mJuxnqtJdrFdc0n*+u?B3l7?4QR2;3Us;W46@L<{E z#fuO5g-TjYLRLQMa}xSl*Z6bo10qI+{*pgs)3U(*AuRn(Q53zh&j~R0q~i%h_LL)6 z?nzM!36ecYuq0r5k~3wm>~lJvp3y4d(G;s$-=9kgiWLk3f(e`b&3{I7=0V^AV1nd@ zPk%G*W`Cbop(`C^vyeNBKjO8U1kHra|IKSZn~Ks37#O^;*)eBv`tc2Yp;$n)S+jX6 nUzNY(@7u&IBih*K_51$=;kGG$F(4!>00000NkvXXu0mjfl=kt* diff --git a/app/src/main/res/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100755 index d3b1ff2d82b4bb32d6c77da995cc0d54a7697b0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16029 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 diff --git a/app/src/main/res/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100755 index b38ac6596507e935fb76c899d59f4d97f5d6d8f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21121 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 + + + @string/unread + @string/all + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 49799498..96a248a8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -182,4 +182,8 @@ This date represent the creation date. This date represent when the last activity happened. com.fastaccess.ui.widgets.FloatingActionButtonBehavior + Mark all as read + All Notifications + Unread + All diff --git a/build.gradle b/build.gradle index 2175323b..a600e386 100644 --- a/build.gradle +++ b/build.gradle @@ -13,6 +13,7 @@ buildscript { classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1' classpath 'com.siimkinks.sqlitemagic:sqlitemagic-plugin:0.11.0' + classpath 'com.google.firebase:firebase-plugins:1.0.5' } configurations.classpath.exclude group: 'com.android.tools.external.lombok' }