Skip to content

Commit

Permalink
Merge pull request #410 from FineFindus/feat/fdroid-notification-warning
Browse files Browse the repository at this point in the history
feat: warn if UP is disabled on FDroid variant
  • Loading branch information
LucasGGamerM authored May 19, 2024
2 parents a082a3d + c7820dd commit 730adc3
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.joinmastodon.android.fragments.settings;

import static org.unifiedpush.android.connector.UnifiedPush.getDistributor;

import android.app.AlertDialog;
import android.app.NotificationManager;
import android.content.Intent;
Expand All @@ -15,6 +13,7 @@
import android.widget.RelativeLayout;
import android.widget.TextView;

import org.joinmastodon.android.BuildConfig;
import org.joinmastodon.android.GlobalUserPreferences;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.PushSubscriptionManager;
Expand Down Expand Up @@ -48,6 +47,7 @@ public class SettingsNotificationsFragment extends BaseSettingsFragment<Void>{
private HideableSingleViewRecyclerAdapter bannerAdapter;
private ImageView bannerIcon;
private TextView bannerText;
private TextView bannerTitle;
private Button bannerButton;

private CheckableListItem<Void> mentionsItem, boostsItem, favoritesItem, followersItem, pollsItem;
Expand All @@ -72,7 +72,7 @@ public void onCreate(Bundle savedInstanceState){
lp=AccountSessionManager.get(accountID).getLocalPreferences();

getPushSubscription();
useUnifiedPush=!getDistributor(getContext()).isEmpty();
useUnifiedPush=!UnifiedPush.getDistributor(getContext()).isEmpty();

onDataLoaded(List.of(
pauseItem=new CheckableListItem<>(getString(R.string.pause_all_notifications), getPauseItemSubtitle(), CheckableListItem.Style.SWITCH, false, R.drawable.ic_fluent_alert_snooze_24_regular, i->onPauseNotificationsClick(false)),
Expand Down Expand Up @@ -158,6 +158,7 @@ protected void onShown(){
@Override
protected RecyclerView.Adapter<?> getAdapter(){
View banner=getActivity().getLayoutInflater().inflate(R.layout.item_settings_banner, list, false);
bannerTitle=banner.findViewById(R.id.title);
bannerText=banner.findViewById(R.id.text);
bannerIcon=banner.findViewById(R.id.icon);
bannerButton=banner.findViewById(R.id.button);
Expand Down Expand Up @@ -315,6 +316,20 @@ private void updateBanner(){
bannerText.setText(R.string.notifications_disabled_in_system);
bannerButton.setText(R.string.open_system_notification_settings);
bannerButton.setOnClickListener(v->openSystemNotificationSettings());
}else if(BuildConfig.BUILD_TYPE.equals("fdroidRelease") && UnifiedPush.getDistributor(getContext()).isEmpty()){
bannerAdapter.setVisible(true);
bannerIcon.setImageResource(R.drawable.ic_fluent_warning_24_filled);
bannerTitle.setVisibility(View.VISIBLE);
bannerTitle.setText(R.string.mo_settings_unifiedpush_warning);
if(UnifiedPush.getDistributors(getContext(), new ArrayList<>()).isEmpty()) {
bannerText.setText(R.string.mo_settings_unifiedpush_warning_no_distributors);
bannerButton.setText(R.string.info);
bannerButton.setOnClickListener(v->UiUtils.launchWebBrowser(getContext(), "https://unifiedpush.org/"));
} else {
bannerText.setText(R.string.mo_settings_unifiedpush_warning_disabled);
bannerButton.setText(R.string.mo_settings_unifiedpush_enable);
bannerButton.setOnClickListener(v->onUnifiedPushClick());
}
}else if(pauseTime>System.currentTimeMillis()){
bannerAdapter.setVisible(true);
bannerIcon.setImageResource(R.drawable.ic_fluent_alert_snooze_24_regular);
Expand All @@ -327,7 +342,7 @@ private void updateBanner(){
}

private void onUnifiedPushClick(){
if(getDistributor(getContext()).isEmpty()){
if(UnifiedPush.getDistributor(getContext()).isEmpty()){
List<String> distributors = UnifiedPush.getDistributors(getContext(), new ArrayList<>());
showUnifiedPushRegisterDialog(distributors);
return;
Expand Down
4 changes: 4 additions & 0 deletions mastodon/src/main/res/values/strings_mo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,10 @@
<string name="mo_recent_emoji_cleared">Recent emoji cleared</string>
<string name="mo_show_media_preview">Show media preview in timelines</string>
<string name="mo_notification_filter_reset">Reset to default</string>
<string name="mo_settings_unifiedpush_warning">UnifiedPush not enabled</string>
<string name="mo_settings_unifiedpush_warning_no_distributors">No UnifiedPush Distributors installed. You will not receive any notifications.</string>
<string name="mo_settings_unifiedpush_warning_disabled">UnifiedPush is not enabled. You will not receive any notifications.</string>
<string name="mo_settings_unifiedpush_enable">Enable</string>

<!-- Temporary Strings. They exist in strings_sk.xml, but are not available on Megalodon's weblate-->
<string name="mo_muted_accounts">Muted accounts</string>
Expand Down

0 comments on commit 730adc3

Please sign in to comment.