Merge branch 'develop'

This commit is contained in:
Thomas 2021-01-23 11:10:01 +01:00
commit 7dbeac461b
79 changed files with 1010 additions and 1011 deletions

View File

@ -38,6 +38,6 @@ For reporting issues, visit [Framagit](https://framagit.org/tom79/fedilab/issues
<img src="./images/device-2019-02-02-114910.png" width="250">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Lead developer: [toot.fedilab.app/@fedilab](https://toot.fedilab.app/@fedilab)
Lead developer: [toot.fedilab.app/@apps](https://toot.fedilab.app/@apps)

View File

@ -6,8 +6,8 @@ android {
defaultConfig {
minSdkVersion 21
targetSdkVersion 29
versionCode 379
versionName "2.37.0"
versionCode 380
versionName "2.37.1"
multiDexEnabled true
renderscriptTargetApi 28 as int
renderscriptSupportModeEnabled true

View File

@ -0,0 +1,6 @@
Added:
- notify when a followed user posts (subscribe by clicking the bell icon on profiles).
Fixed:
- Crash when importing media due to photo editor
- Some crashes when doing actions

View File

@ -162,6 +162,7 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
private ScheduledExecutorService scheduledExecutorService;
private action doAction;
private API.StatusAction doActionAccount;
ImageButton account_notification;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -191,6 +192,7 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
account_dn = findViewById(R.id.account_dn);
account_un = findViewById(R.id.account_un);
account_bot = findViewById(R.id.account_bot);
account_notification = findViewById(R.id.account_notification);
addToList = null;
account_pp.setBackgroundResource(R.drawable.account_pp_border);
if (b != null) {
@ -451,6 +453,7 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
}
});
mPager = findViewById(R.id.account_viewpager);
TabLayout.Tab tab = tabLayout.newTab();
if (!peertubeAccount) {
tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.toots)));
tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.following)));
@ -740,11 +743,17 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
startActivity(intent);
}
});
//Follow button
String target = account.getId();
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PEERTUBE)
target = account.getAcct();
String finalTarget = target;
account_notification.setOnClickListener(v -> {
if (relationship != null) {
new PostActionAsyncTask(ShowAccountActivity.this, relationship.isNotifying() ? API.StatusAction.UNNOTIFY_FOR_ACCOUNT : API.StatusAction.NOTIFY_FOR_ACCOUNT, finalTarget, ShowAccountActivity.this);
}
});
account_follow.setOnClickListener(v -> {
if (doAction == action.NOTHING) {
Toasty.info(ShowAccountActivity.this, getString(R.string.nothing_to_do), Toast.LENGTH_LONG).show();
@ -951,6 +960,17 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
account_follow.setVisibility(View.GONE);
doAction = action.NOTHING;
}
if (!relationship.isFollowing()) {
account_notification.setVisibility(View.GONE);
} else {
account_notification.setVisibility(View.VISIBLE);
}
if (relationship.isNotifying()) {
account_notification.setImageResource(R.drawable.ic_baseline_notifications_account_yes);
} else {
account_notification.setImageResource(R.drawable.ic_baseline_notifications_account_none);
}
}
@Override
@ -1520,24 +1540,21 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
return displayStatusFragment;
}
case 1:
DisplayAccountsFragment displayAccountsFragment = new DisplayAccountsFragment();
if (peertubeAccount) {
DisplayAccountsFragment displayAccountsFragment = new DisplayAccountsFragment();
bundle.putSerializable("type", RetrieveAccountsAsyncTask.Type.CHANNELS);
bundle.putString("targetedid", account.getId());
bundle.putString("instance", Helper.getLiveInstance(ShowAccountActivity.this));
bundle.putString("name", account.getAcct());
displayAccountsFragment.setArguments(bundle);
return displayAccountsFragment;
} else {
DisplayAccountsFragment displayAccountsFragment = new DisplayAccountsFragment();
bundle.putSerializable("type", RetrieveAccountsAsyncTask.Type.FOLLOWING);
bundle.putString("targetedid", account.getId());
displayAccountsFragment.setArguments(bundle);
return displayAccountsFragment;
}
displayAccountsFragment.setArguments(bundle);
return displayAccountsFragment;
default:
DisplayAccountsFragment displayAccountsFragment = new DisplayAccountsFragment();
displayAccountsFragment = new DisplayAccountsFragment();
bundle.putSerializable("type", RetrieveAccountsAsyncTask.Type.FOLLOWERS);
bundle.putString("targetedid", account.getId());
displayAccountsFragment.setArguments(bundle);

View File

@ -264,9 +264,11 @@ public class PostActionAsyncTask {
statusCode = gnuapi.postAction(apiAction, targetedId);
error = gnuapi.getError();
}
Handler mainHandler = new Handler(Looper.getMainLooper());
Runnable myRunnable = () -> listener.onPostAction(statusCode, apiAction, targetedId, error);
mainHandler.post(myRunnable);
if (listener != null) {
Handler mainHandler = new Handler(Looper.getMainLooper());
Runnable myRunnable = () -> listener.onPostAction(statusCode, apiAction, targetedId, error);
mainHandler.post(myRunnable);
}
}).start();
}

View File

@ -3642,7 +3642,7 @@ public class API {
List<Status> tmp_status = parseStatuses(context, new JSONArray(response));
if (tmp_status.size() > 0) {
for (Status status : tmp_status) {
if (status.getAccount().getAcct().equals("fedilab")) {
if (status.getAccount().getAcct().equals("apps")) {
statuses.add(status);
}
}
@ -4274,6 +4274,16 @@ public class API {
case FOLLOW:
action = String.format("/accounts/%s/follow", targetedId);
break;
case NOTIFY_FOR_ACCOUNT:
params = new HashMap<>();
params.put("notify", "true");
action = String.format("/accounts/%s/follow", targetedId);
break;
case UNNOTIFY_FOR_ACCOUNT:
params = new HashMap<>();
params.put("notify", "false");
action = String.format("/accounts/%s/follow", targetedId);
break;
case REMOTE_FOLLOW:
action = "/follows";
params = new HashMap<>();
@ -4801,7 +4811,7 @@ public class API {
return apiResponse;
}
final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
boolean notif_follow, notif_add, notif_mention, notif_share, notif_poll;
boolean notif_follow, notif_add, notif_mention, notif_share, notif_poll, notif_status;
StringBuilder parameters = new StringBuilder();
//TODO: If pixelfed supports exclude_types this condition needs to be changed
if (type == DisplayNotificationsFragment.Type.ALL && MainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.PIXELFED) {
@ -4811,12 +4821,14 @@ public class API {
notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION_FILTER, true);
notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE_FILTER, true);
notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL_FILTER, true);
notif_status = sharedpreferences.getBoolean(Helper.SET_NOTIF_STATUS_FILTER, true);
} else {
notif_follow = sharedpreferences.getBoolean(Helper.SET_NOTIF_FOLLOW, true);
notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD, true);
notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION, true);
notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE, true);
notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL, true);
notif_status = sharedpreferences.getBoolean(Helper.SET_NOTIF_STATUS, true);
}
@ -4828,6 +4840,8 @@ public class API {
parameters.append("exclude_types[]=").append("favourite").append("&");
if (!notif_share)
parameters.append("exclude_types[]=").append("reblog").append("&");
if (!notif_status)
parameters.append("exclude_types[]=").append("status").append("&");
if (!notif_mention)
parameters.append("exclude_types[]=").append("mention").append("&");
if (!notif_poll)
@ -4841,6 +4855,7 @@ public class API {
parameters.append("exclude_types[]=").append("follow_request").append("&");
parameters.append("exclude_types[]=").append("favourite").append("&");
parameters.append("exclude_types[]=").append("reblog").append("&");
parameters.append("exclude_types[]=").append("status").append("&");
parameters.append("exclude_types[]=").append("poll").append("&");
parameters = new StringBuilder(parameters.substring(0, parameters.length() - 1).substring(16));
params.put("exclude_types[]", parameters.toString());
@ -4848,6 +4863,7 @@ public class API {
parameters.append("exclude_types[]=").append("follow").append("&");
parameters.append("exclude_types[]=").append("follow_request").append("&");
parameters.append("exclude_types[]=").append("mention").append("&");
parameters.append("exclude_types[]=").append("status").append("&");
parameters.append("exclude_types[]=").append("reblog").append("&");
parameters.append("exclude_types[]=").append("poll").append("&");
parameters = new StringBuilder(parameters.substring(0, parameters.length() - 1).substring(16));
@ -4855,6 +4871,7 @@ public class API {
} else if (type == DisplayNotificationsFragment.Type.BOOST) {
parameters.append("exclude_types[]=").append("follow").append("&");
parameters.append("exclude_types[]=").append("follow_request").append("&");
parameters.append("exclude_types[]=").append("status").append("&");
parameters.append("exclude_types[]=").append("mention").append("&");
parameters.append("exclude_types[]=").append("favourite").append("&");
parameters.append("exclude_types[]=").append("poll").append("&");
@ -4863,12 +4880,22 @@ public class API {
} else if (type == DisplayNotificationsFragment.Type.POLL) {
parameters.append("exclude_types[]=").append("reblog").append("&");
parameters.append("exclude_types[]=").append("follow").append("&");
parameters.append("exclude_types[]=").append("status").append("&");
parameters.append("exclude_types[]=").append("follow_request").append("&");
parameters.append("exclude_types[]=").append("mention").append("&");
parameters.append("exclude_types[]=").append("favourite").append("&");
parameters = new StringBuilder(parameters.substring(0, parameters.length() - 1).substring(16));
params.put("exclude_types[]", parameters.toString());
} else if (type == DisplayNotificationsFragment.Type.FOLLOW) {
parameters.append("exclude_types[]=").append("status").append("&");
parameters.append("exclude_types[]=").append("reblog").append("&");
parameters.append("exclude_types[]=").append("mention").append("&");
parameters.append("exclude_types[]=").append("favourite").append("&");
parameters.append("exclude_types[]=").append("poll").append("&");
parameters = new StringBuilder(parameters.substring(0, parameters.length() - 1).substring(16));
params.put("exclude_types[]", parameters.toString());
} else if (type == DisplayNotificationsFragment.Type.STATUS) {
parameters.append("exclude_types[]=").append("follow").append("&");
parameters.append("exclude_types[]=").append("reblog").append("&");
parameters.append("exclude_types[]=").append("mention").append("&");
parameters.append("exclude_types[]=").append("favourite").append("&");
@ -4886,6 +4913,7 @@ public class API {
apiResponse.setMax_id(httpsConnection.getMax_id());
notifications = parseNotificationResponse(new JSONArray(response));
} catch (HttpsConnection.HttpsConnectionException e) {
e.printStackTrace();
setError(e.getStatusCode(), e);
} catch (NoSuchAlgorithmException | IOException | KeyManagementException | JSONException e) {
e.printStackTrace();
@ -6081,6 +6109,17 @@ public class API {
} catch (Exception ignored) {
relationship.setBlocked_by(false);
}
try {
relationship.setDomain_blocking(resobj.getBoolean("domain_blocking"));
} catch (Exception ignored) {
relationship.setDomain_blocking(false);
}
relationship.setNote(resobj.getString("note"));
try {
relationship.setNotifying(resobj.getBoolean("notifying"));
} catch (Exception ignored) {
relationship.setNotifying(false);
}
relationship.setRequested(resobj.getBoolean("requested"));
} catch (JSONException e) {
setDefaultError(e);
@ -6257,6 +6296,8 @@ public class API {
UNBLOCK,
FOLLOW,
UNFOLLOW,
NOTIFY_FOR_ACCOUNT,
UNNOTIFY_FOR_ACCOUNT,
CREATESTATUS,
UNSTATUS,
AUTHORIZE,

View File

@ -76,7 +76,7 @@ public class ManageTimelines {
private String currentFilter;
private boolean notif_follow, notif_add, notif_mention, notif_share, notif_poll;
private boolean notif_follow, notif_add, notif_mention, notif_share, notif_poll, notif_status;
public static Type typeFromDb(String value) {
switch (value) {
@ -387,18 +387,21 @@ public class ManageTimelines {
final MenuItem itemMention = menu.findItem(R.id.action_mention);
final MenuItem itemBoost = menu.findItem(R.id.action_boost);
final MenuItem itemPoll = menu.findItem(R.id.action_poll);
final MenuItem itemStatus = menu.findItem(R.id.action_status);
notif_follow = sharedpreferences.getBoolean(Helper.SET_NOTIF_FOLLOW_FILTER, true);
notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD_FILTER, true);
notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION_FILTER, true);
notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE_FILTER, true);
notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL_FILTER, true);
notif_status = sharedpreferences.getBoolean(Helper.SET_NOTIF_STATUS_FILTER, true);
itemFavourite.setChecked(notif_add);
itemFollow.setChecked(notif_follow);
itemMention.setChecked(notif_mention);
itemBoost.setChecked(notif_share);
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON)
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON) {
itemPoll.setChecked(notif_poll);
else
itemStatus.setChecked(notif_status);
} else
itemPoll.setVisible(false);
popup.setOnDismissListener(menu1 -> {
@ -423,42 +426,48 @@ public class ManageTimelines {
return false;
}
});
switch (item.getItemId()) {
case R.id.action_favorite:
SharedPreferences.Editor editor = sharedpreferences.edit();
notif_add = !notif_add;
editor.putBoolean(Helper.SET_NOTIF_ADD_FILTER, notif_add);
itemFavourite.setChecked(notif_add);
editor.apply();
break;
case R.id.action_follow:
editor = sharedpreferences.edit();
notif_follow = !notif_follow;
editor.putBoolean(Helper.SET_NOTIF_FOLLOW_FILTER, notif_follow);
itemFollow.setChecked(notif_follow);
editor.apply();
break;
case R.id.action_mention:
editor = sharedpreferences.edit();
notif_mention = !notif_mention;
editor.putBoolean(Helper.SET_NOTIF_MENTION_FILTER, notif_mention);
itemMention.setChecked(notif_mention);
editor.apply();
break;
case R.id.action_boost:
editor = sharedpreferences.edit();
notif_share = !notif_share;
editor.putBoolean(Helper.SET_NOTIF_SHARE_FILTER, notif_share);
itemBoost.setChecked(notif_share);
editor.apply();
break;
case R.id.action_poll:
editor = sharedpreferences.edit();
notif_poll = !notif_poll;
editor.putBoolean(Helper.SET_NOTIF_POLL_FILTER, notif_poll);
itemPoll.setChecked(notif_poll);
editor.apply();
break;
int itemId = item.getItemId();
if (itemId == R.id.action_favorite) {
SharedPreferences.Editor editor = sharedpreferences.edit();
notif_add = !notif_add;
editor.putBoolean(Helper.SET_NOTIF_ADD_FILTER, notif_add);
itemFavourite.setChecked(notif_add);
editor.apply();
} else if (itemId == R.id.action_follow) {
SharedPreferences.Editor editor;
editor = sharedpreferences.edit();
notif_follow = !notif_follow;
editor.putBoolean(Helper.SET_NOTIF_FOLLOW_FILTER, notif_follow);
itemFollow.setChecked(notif_follow);
editor.apply();
} else if (itemId == R.id.action_mention) {
SharedPreferences.Editor editor;
editor = sharedpreferences.edit();
notif_mention = !notif_mention;
editor.putBoolean(Helper.SET_NOTIF_MENTION_FILTER, notif_mention);
itemMention.setChecked(notif_mention);
editor.apply();
} else if (itemId == R.id.action_boost) {
SharedPreferences.Editor editor;
editor = sharedpreferences.edit();
notif_share = !notif_share;
editor.putBoolean(Helper.SET_NOTIF_SHARE_FILTER, notif_share);
itemBoost.setChecked(notif_share);
editor.apply();
} else if (itemId == R.id.action_poll) {
SharedPreferences.Editor editor;
editor = sharedpreferences.edit();
notif_poll = !notif_poll;
editor.putBoolean(Helper.SET_NOTIF_POLL_FILTER, notif_poll);
itemPoll.setChecked(notif_poll);
editor.apply();
} else if (itemId == R.id.action_status) {
SharedPreferences.Editor editor;
editor = sharedpreferences.edit();
notif_status = !notif_status;
editor.putBoolean(Helper.SET_NOTIF_STATUS_FILTER, notif_status);
itemStatus.setChecked(notif_status);
editor.apply();
}
return false;
});

View File

@ -25,12 +25,15 @@ public class Relationship {
private boolean following;
private boolean followed_by;
private boolean blocking;
private boolean domain_blocking;
private boolean muting;
private boolean requested;
private boolean muting_notifications;
private boolean endorsed;
private boolean showing_reblogs;
private boolean blocked_by;
private String note;
private boolean notifying;
public String getId() {
@ -112,4 +115,28 @@ public class Relationship {
public void setBlocked_by(boolean blocked_by) {
this.blocked_by = blocked_by;
}
public boolean isDomain_blocking() {
return domain_blocking;
}
public void setDomain_blocking(boolean domain_blocking) {
this.domain_blocking = domain_blocking;
}
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
public boolean isNotifying() {
return notifying;
}
public void setNotifying(boolean notifying) {
this.notifying = notifying;
}
}

View File

@ -127,7 +127,6 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
private final List<Account> translators = new ArrayList<>();
private type type;
private Context context;
private AsyncTask asyncTask;
private int countTrans, countLanguage, notificationCount, ledCount, videoSpinnerCount, liveNotificationCount;
private AccountSearchDevAdapter translatorManager;
private TextView set_folder;
@ -136,11 +135,9 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
//From: https://gist.github.com/asifmujteba/d89ba9074bc941de1eaa#file-asfurihelper
@TargetApi(Build.VERSION_CODES.KITKAT)
public static String getPath(final Context context, final Uri uri) {
final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
// DocumentProvider
if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
if (DocumentsContract.isDocumentUri(context, uri)) {
// ExternalStorageProvider
if (isExternalStorageDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
@ -607,6 +604,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
boolean notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION, true);
boolean notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE, true);
boolean notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL, true);
boolean notif_status = sharedpreferences.getBoolean(Helper.SET_NOTIF_STATUS, true);
boolean notif_wifi = sharedpreferences.getBoolean(Helper.SET_WIFI_ONLY, false);
boolean notif_silent = sharedpreferences.getBoolean(Helper.SET_NOTIF_SILENT, false);
@ -621,7 +619,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
final SwitchCompat set_notif_follow_mention = rootView.findViewById(R.id.set_notif_follow_mention);
final SwitchCompat set_notif_follow_share = rootView.findViewById(R.id.set_notif_follow_share);
final SwitchCompat set_notif_follow_poll = rootView.findViewById(R.id.set_notif_follow_poll);
final SwitchCompat set_notif_status = rootView.findViewById(R.id.set_notif_status);
final SwitchCompat switchCompatWIFI = rootView.findViewById(R.id.set_wifi_only);
final SwitchCompat switchCompatSilent = rootView.findViewById(R.id.set_silence);
@ -637,6 +635,8 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
final Button sound_poll = rootView.findViewById(R.id.sound_poll);
final Button sound_backup = rootView.findViewById(R.id.sound_backup);
final Button sound_media = rootView.findViewById(R.id.sound_media);
final Button sound_status = rootView.findViewById(R.id.sound_status);
final ImageButton set_hide_status_bar = rootView.findViewById(R.id.set_hide_status_bar);
Button set_notif_sound = rootView.findViewById(R.id.set_notif_sound);
@ -703,6 +703,12 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
intent.putExtra(Settings.EXTRA_CHANNEL_ID, "channel_store");
startActivity(intent);
});
sound_status.setOnClickListener(v -> {
Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
intent.putExtra(Settings.EXTRA_CHANNEL_ID, "channel_status");
startActivity(intent);
});
} else {
set_notif_sound.setVisibility(View.VISIBLE);
channels_container.setVisibility(View.GONE);
@ -817,7 +823,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
set_notif_follow_mention.setChecked(notif_mention);
set_notif_follow_share.setChecked(notif_share);
set_notif_follow_poll.setChecked(notif_poll);
set_notif_status.setChecked(notif_status);
switchCompatWIFI.setChecked(notif_wifi);
switchCompatSilent.setChecked(notif_silent);
@ -848,7 +854,11 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
editor.putBoolean(Helper.SET_NOTIF_POLL, set_notif_follow_poll.isChecked());
editor.apply();
});
set_notif_status.setOnClickListener(v -> {
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putBoolean(Helper.SET_NOTIF_STATUS, set_notif_status.isChecked());
editor.apply();
});
switchCompatWIFI.setOnCheckedChangeListener((buttonView, isChecked) -> {
// Save the state here
@ -2112,7 +2122,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
update_tracking_domains.setOnClickListener(v -> {
update_tracking_domains.setEnabled(false);
Intent scriptIntent = new Intent(context, DownloadTrackingDBScriptsService.class);
((Activity) context).startService(scriptIntent);
context.startService(scriptIntent);
}
);
@ -2557,10 +2567,6 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
public void onDestroy() {
super.onDestroy();
if (type == LANGUAGE) {
if (asyncTask != null && asyncTask.getStatus() == AsyncTask.Status.RUNNING)
asyncTask.cancel(true);
}
}
public enum type {

View File

@ -501,6 +501,7 @@ public class DisplayNotificationsFragment extends Fragment implements OnRetrieve
MENTION,
FAVORITE,
BOOST,
STATUS,
POLL,
FOLLOW
}

View File

@ -33,6 +33,8 @@ import androidx.viewpager.widget.ViewPager;
import com.google.android.material.tabs.TabLayout;
import org.jetbrains.annotations.NotNull;
import java.util.Objects;
import app.fedilab.android.R;
@ -67,6 +69,7 @@ public class TabLayoutNotificationsFragment extends Fragment {
TabLayout.Tab tabMention = tabLayout.newTab();
TabLayout.Tab tabFav = tabLayout.newTab();
TabLayout.Tab tabBoost = tabLayout.newTab();
TabLayout.Tab tabStatus = tabLayout.newTab();
TabLayout.Tab tabPoll = tabLayout.newTab();
TabLayout.Tab tabFollow = tabLayout.newTab();
@ -75,8 +78,10 @@ public class TabLayoutNotificationsFragment extends Fragment {
tabFav.setCustomView(R.layout.tab_badge);
if (MainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.FRIENDICA)
tabBoost.setCustomView(R.layout.tab_badge);
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON)
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON) {
tabPoll.setCustomView(R.layout.tab_badge);
tabStatus.setCustomView(R.layout.tab_badge);
}
tabFollow.setCustomView(R.layout.tab_badge);
@ -100,13 +105,19 @@ public class TabLayoutNotificationsFragment extends Fragment {
iconBoost.setImageResource(R.drawable.ic_repeat_notif_tab);
}
ImageView iconStatus = null;
if (tabStatus.getCustomView() != null) {
iconStatus = tabStatus.getCustomView().findViewById(R.id.tab_icon);
iconStatus.setImageResource(R.drawable.ic_baseline_home_notif);
}
ImageView iconPoll = null;
if (tabPoll.getCustomView() != null) {
iconPoll = tabPoll.getCustomView().findViewById(R.id.tab_icon);
iconPoll.setImageResource(R.drawable.ic_view_list_poll_notif);
}
@SuppressWarnings("ConstantConditions") @SuppressLint("CutPasteId")
@SuppressLint("CutPasteId")
ImageView iconFollow = tabFollow.getCustomView().findViewById(R.id.tab_icon);
iconFollow.setImageResource(R.drawable.ic_follow_notif_tab);
@ -116,8 +127,11 @@ public class TabLayoutNotificationsFragment extends Fragment {
tabLayout.addTab(tabFav);
if (tabBoost.getCustomView() != null)
tabLayout.addTab(tabBoost);
if (tabStatus.getCustomView() != null)
tabLayout.addTab(tabStatus);
if (tabPoll.getCustomView() != null)
tabLayout.addTab(tabPoll);
tabLayout.addTab(tabFollow);
if (theme == Helper.THEME_BLACK)
@ -133,6 +147,8 @@ public class TabLayoutNotificationsFragment extends Fragment {
iconBoost.setColorFilter(ContextCompat.getColor(context, R.color.action_light_header), PorterDuff.Mode.SRC_IN);
if (iconPoll != null)
iconPoll.setColorFilter(ContextCompat.getColor(context, R.color.action_light_header), PorterDuff.Mode.SRC_IN);
if (iconStatus != null)
iconStatus.setColorFilter(ContextCompat.getColor(context, R.color.action_light_header), PorterDuff.Mode.SRC_IN);
iconFollow.setColorFilter(ContextCompat.getColor(context, R.color.action_light_header), PorterDuff.Mode.SRC_IN);
} else {
iconMention.setColorFilter(ContextCompat.getColor(context, R.color.dark_text), PorterDuff.Mode.SRC_IN);
@ -142,14 +158,15 @@ public class TabLayoutNotificationsFragment extends Fragment {
iconBoost.setColorFilter(ContextCompat.getColor(context, R.color.dark_text), PorterDuff.Mode.SRC_IN);
if (iconPoll != null)
iconPoll.setColorFilter(ContextCompat.getColor(context, R.color.dark_text), PorterDuff.Mode.SRC_IN);
if (iconStatus != null)
iconStatus.setColorFilter(ContextCompat.getColor(context, R.color.dark_text), PorterDuff.Mode.SRC_IN);
iconFollow.setColorFilter(ContextCompat.getColor(context, R.color.dark_text), PorterDuff.Mode.SRC_IN);
}
viewPager = inflatedView.findViewById(R.id.viewpager);
viewPager.setEnableSwipe(false);
viewPager.setAdapter(new PagerAdapter
(getChildFragmentManager(), tabLayout.getTabCount()));
viewPager.setAdapter(new PagerAdapter(getChildFragmentManager(), tabLayout.getTabCount()));
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
@ -180,7 +197,7 @@ public class TabLayoutNotificationsFragment extends Fragment {
}
@Override
public void onAttach(Context context) {
public void onAttach(@NotNull Context context) {
super.onAttach(context);
this.context = context;
}
@ -206,7 +223,7 @@ public class TabLayoutNotificationsFragment extends Fragment {
/**
* Page Adapter for settings
*/
private class PagerAdapter extends FragmentStatePagerAdapter {
private static class PagerAdapter extends FragmentStatePagerAdapter {
int mNumOfTabs;
private PagerAdapter(FragmentManager fm, int NumOfTabs) {
@ -215,7 +232,7 @@ public class TabLayoutNotificationsFragment extends Fragment {
}
@Override
public Fragment getItem(int position) {
public @NotNull Fragment getItem(int position) {
DisplayNotificationsFragment displayNotificationsFragment = new DisplayNotificationsFragment();
DisplayNotificationsFragment.Type type = null;
String tag = "";
@ -244,12 +261,15 @@ public class TabLayoutNotificationsFragment extends Fragment {
type = DisplayNotificationsFragment.Type.BOOST;
break;
case 4:
type = DisplayNotificationsFragment.Type.STATUS;
break;
case 5:
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON)
type = DisplayNotificationsFragment.Type.POLL;
else
type = DisplayNotificationsFragment.Type.FOLLOW;
break;
case 5:
case 6:
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON)
type = DisplayNotificationsFragment.Type.FOLLOW;
default:

View File

@ -426,11 +426,13 @@ public class BaseHelper {
public static final String SET_NOTIF_MENTION = "set_notif_follow_mention";
public static final String SET_NOTIF_SHARE = "set_notif_follow_share";
public static final String SET_NOTIF_POLL = "set_notif_follow_poll";
public static final String SET_NOTIF_STATUS = "set_notif_follow_status";
public static final String SET_NOTIF_FOLLOW_FILTER = "set_notif_follow_filter";
public static final String SET_NOTIF_ADD_FILTER = "set_notif_follow_add_filter";
public static final String SET_NOTIF_MENTION_FILTER = "set_notif_follow_mention_filter";
public static final String SET_NOTIF_SHARE_FILTER = "set_notif_follow_share_filter";
public static final String SET_NOTIF_POLL_FILTER = "set_notif_follow_poll_filter";
public static final String SET_NOTIF_STATUS_FILTER = "set_notif_follow_status_filter";
public static final String SET_FILTER_REGEX_HOME = "set_filter_regex_home";
public static final String SET_FILTER_REGEX_LOCAL = "set_filter_regex_local";
public static final String SET_FILTER_REGEX_PUBLIC = "set_filter_regex_public";
@ -1137,8 +1139,8 @@ public class BaseHelper {
channelTitle = context.getString(R.string.channel_notif_media);
break;
case TOOT:
channelId = "channel_toot";
channelTitle = context.getString(R.string.channel_notif_toot);
channelId = "channel_status";
channelTitle = context.getString(R.string.channel_notif_status);
break;
default:
channelId = "channel_boost";
@ -3452,16 +3454,26 @@ public class BaseHelper {
ContentResolver resolver = context.getContentResolver();
Cursor returnCursor =
resolver.query(uri, null, null, null, null);
assert returnCursor != null;
try {
int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
returnCursor.moveToFirst();
String name = returnCursor.getString(nameIndex);
returnCursor.close();
Random r = new Random();
int suf = r.nextInt(9999 - 1000) + 1000;
return suf + name;
} catch (Exception e) {
if (returnCursor != null) {
try {
int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
returnCursor.moveToFirst();
String name = returnCursor.getString(nameIndex);
returnCursor.close();
Random r = new Random();
int suf = r.nextInt(9999 - 1000) + 1000;
return suf + name;
} catch (Exception e) {
Random r = new Random();
int suf = r.nextInt(9999 - 1000) + 1000;
ContentResolver cr = context.getContentResolver();
String mime = cr.getType(uri);
if (mime != null && mime.split("/").length > 1)
return "__" + suf + "." + mime.split("/")[1];
else
return "__" + suf + ".jpg";
}
} else {
Random r = new Random();
int suf = r.nextInt(9999 - 1000) + 1000;
ContentResolver cr = context.getContentResolver();
@ -4482,6 +4494,7 @@ public class BaseHelper {
BOOST,
FAV,
POLL,
STATUS,
BACKUP,
STORE,
TOOT

View File

@ -161,6 +161,7 @@ public class BaseNotificationsSyncJob extends Job {
boolean notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION, true);
boolean notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE, true);
boolean notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL, true);
boolean notif_status = sharedpreferences.getBoolean(Helper.SET_NOTIF_STATUS, true);
final String max_id = sharedpreferences.getString(Helper.LAST_NOTIFICATION_MAX_ID + account.getId() + account.getInstance(), null);
final List<Notification> notifications = new ArrayList<>();
int pos = 0;
@ -178,6 +179,7 @@ public class BaseNotificationsSyncJob extends Job {
int newMentions = 0;
int newShare = 0;
int newPolls = 0;
int newStatus = 0;
String notificationUrl = null;
String title = null;
final String message;
@ -199,6 +201,19 @@ public class BaseNotificationsSyncJob extends Job {
}
}
break;
case "status":
notifType = Helper.NotifType.STATUS;
if (notif_status) {
newStatus++;
if (notificationUrl == null) {
notificationUrl = notification.getAccount().getAvatar();
if (notification.getAccount().getDisplay_name() != null && notification.getAccount().getDisplay_name().length() > 0)
title = String.format("%s %s", notification.getAccount().getDisplay_name(), getContext().getString(R.string.notif_mention));
else
title = String.format("@%s %s", notification.getAccount().getAcct(), getContext().getString(R.string.notif_mention));
}
}
break;
case "reblog":
notifType = Helper.NotifType.BOOST;
if (notif_share) {
@ -272,7 +287,7 @@ public class BaseNotificationsSyncJob extends Job {
}
}
int allNotifCount = newFollows + newAdds + newMentions + newShare + newPolls;
int allNotifCount = newFollows + newAdds + newMentions + newShare + newPolls + newStatus;
if (allNotifCount > 0) {
//Some others notification
int other = allNotifCount - 1;

View File

@ -67,12 +67,10 @@ public class BackupStatusService extends IntentService {
*
* @param name Used to name the worker thread, important only for debugging.
*/
@SuppressWarnings("unused")
public BackupStatusService(String name) {
super(name);
}
@SuppressWarnings("unused")
public BackupStatusService() {
super("BackupStatusService");
}

View File

@ -56,8 +56,6 @@ import com.koushikdutta.async.http.WebSocket;
import org.json.JSONException;
import org.json.JSONObject;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
@ -67,7 +65,6 @@ import app.fedilab.android.activities.MainActivity;
import app.fedilab.android.client.API;
import app.fedilab.android.client.Entities.Account;
import app.fedilab.android.client.Entities.Notification;
import app.fedilab.android.client.TLSSocketFactory;
import app.fedilab.android.helper.Helper;
import app.fedilab.android.sqlite.AccountDAO;
import app.fedilab.android.sqlite.Sqlite;
@ -231,14 +228,6 @@ public abstract class BaseLiveNotificationService extends Service implements Net
String urlKey = "wss://" + account.getInstance() + "/api/v1/streaming/?stream=" + notif_url + "&access_token=" + account.getToken();
Uri url = Uri.parse(urlKey);
AsyncHttpRequest.setDefaultHeaders(headers, url);
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
try {
AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setSSLContext(new TLSSocketFactory(account.getInstance()).getSSLContext());
AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setConnectAllAddresses(true);
} catch (KeyManagementException | NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
String key = account.getAcct() + "@" + account.getInstance();
if (webSocketFutures.get(key) == null || !Objects.requireNonNull(webSocketFutures.get(key)).isOpen()) {
AsyncHttpClient.getDefaultInstance().websocket("wss://" + account.getInstance() + "/api/v1/streaming/?stream=" + notif_url + "&access_token=" + account.getToken(), "wss", (ex, webSocket) -> {
@ -353,8 +342,9 @@ public abstract class BaseLiveNotificationService extends Service implements Net
boolean notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD, true);
boolean notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION, true);
boolean notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE, true);
boolean notif_status = sharedpreferences.getBoolean(Helper.SET_NOTIF_STATUS, true);
boolean notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL, true);
boolean somethingToPush = (notif_follow || notif_add || notif_mention || notif_share || notif_poll);
boolean somethingToPush = (notif_follow || notif_add || notif_mention || notif_share || notif_poll || notif_status);
String message = null;
if (somethingToPush) {
switch (notification.getType()) {
@ -382,6 +372,30 @@ public abstract class BaseLiveNotificationService extends Service implements Net
canSendBroadCast = false;
}
break;
case "status":
notifType = Helper.NotifType.STATUS;
if (notif_status) {
if (notification.getAccount().getDisplay_name() != null && notification.getAccount().getDisplay_name().length() > 0)
message = String.format("%s %s", notification.getAccount().getDisplay_name(), getString(R.string.notif_status));
else
message = String.format("@%s %s", notification.getAccount().getAcct(), getString(R.string.notif_status));
if (notification.getStatus() != null) {
if (notification.getStatus().getSpoiler_text() != null && notification.getStatus().getSpoiler_text().length() > 0) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
message = "\n" + new SpannableString(Html.fromHtml(notification.getStatus().getSpoiler_text(), FROM_HTML_MODE_LEGACY));
else
message = "\n" + new SpannableString(Html.fromHtml(notification.getStatus().getSpoiler_text()));
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
message = "\n" + new SpannableString(Html.fromHtml(notification.getStatus().getContent(), FROM_HTML_MODE_LEGACY));
else
message = "\n" + new SpannableString(Html.fromHtml(notification.getStatus().getContent()));
}
}
} else {
canSendBroadCast = false;
}
break;
case "reblog":
notifType = Helper.NotifType.BOOST;
if (notif_share) {

View File

@ -60,12 +60,10 @@ public abstract class BaseStreamingFederatedTimelineService extends IntentServic
*
* @param name Used to name the worker thread, important only for debugging.
*/
@SuppressWarnings("unused")
public BaseStreamingFederatedTimelineService(String name) {
super(name);
}
@SuppressWarnings("unused")
public BaseStreamingFederatedTimelineService() {
super("StreamingFederatedTimelineService");
}

View File

@ -60,12 +60,10 @@ public abstract class BaseStreamingHomeTimelineService extends IntentService {
*
* @param name Used to name the worker thread, important only for debugging.
*/
@SuppressWarnings("unused")
public BaseStreamingHomeTimelineService(String name) {
super(name);
}
@SuppressWarnings("unused")
public BaseStreamingHomeTimelineService() {
super("StreamingHomeTimelineService");
}
@ -104,14 +102,6 @@ public abstract class BaseStreamingHomeTimelineService extends IntentService {
Uri url = Uri.parse("wss://" + accountStream.getInstance() + "/api/v1/streaming/?stream=user&access_token=" + accountStream.getToken());
AsyncHttpRequest.setDefaultHeaders(headers, url);
Account finalAccountStream = accountStream;
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
try {
AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setSSLContext(new TLSSocketFactory(accountStream.getInstance()).getSSLContext());
AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setConnectAllAddresses(true);
} catch (KeyManagementException | NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
AsyncHttpClient.getDefaultInstance().websocket("wss://" + accountStream.getInstance() + "/api/v1/streaming/?stream=user&access_token=" + accountStream.getToken(), "wss", (ex, webSocket) -> {
if (ex != null) {
ex.printStackTrace();

View File

@ -104,14 +104,6 @@ public abstract class BaseStreamingLocalTimelineService extends IntentService {
Uri url = Uri.parse("wss://" + accountStream.getInstance() + "/api/v1/streaming/?stream=public:local&access_token=" + accountStream.getToken());
AsyncHttpRequest.setDefaultHeaders(headers, url);
Account finalAccountStream = accountStream;
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
try {
AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setSSLContext(new TLSSocketFactory(accountStream.getInstance()).getSSLContext());
AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setConnectAllAddresses(true);
} catch (KeyManagementException | NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
AsyncHttpClient.getDefaultInstance().websocket("wss://" + accountStream.getInstance() + "/api/v1/streaming/?stream=public:local&access_token=" + accountStream.getToken(), "wss", (ex, webSocket) -> {
if (ex != null) {
ex.printStackTrace();

View File

@ -214,11 +214,10 @@ public class LiveNotificationDelayedService extends Service {
private void startThread(Account accountStream, String key) {
Thread thread = new Thread() {
@SuppressWarnings("ConstantConditions")
@Override
public void run() {
while (fetch) {
taks(accountStream);
task(accountStream);
fetch = (Helper.liveNotifType(LiveNotificationDelayedService.this) == Helper.NOTIF_DELAYED);
if (sleeps.containsKey(key) && sleeps.get(key) != null) {
try {
@ -241,8 +240,7 @@ public class LiveNotificationDelayedService extends Service {
}
@SuppressWarnings("ConstantConditions")
private void taks(Account account) {
private void task(Account account) {
String key = account.getUsername() + "@" + account.getInstance();
APIResponse apiResponse;
@ -341,8 +339,9 @@ public class LiveNotificationDelayedService extends Service {
boolean notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD, true);
boolean notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION, true);
boolean notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE, true);
boolean notif_status = sharedpreferences.getBoolean(Helper.SET_NOTIF_STATUS, true);
boolean notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL, true);
boolean somethingToPush = (notif_follow || notif_add || notif_mention || notif_share || notif_poll);
boolean somethingToPush = (notif_follow || notif_add || notif_mention || notif_share || notif_poll || notif_status);
String message = null;
if (somethingToPush) {
@ -371,6 +370,30 @@ public class LiveNotificationDelayedService extends Service {
canSendBroadCast = false;
}
break;
case "status":
notifType = Helper.NotifType.STATUS;
if (notif_status) {
if (notification.getAccount().getDisplay_name() != null && notification.getAccount().getDisplay_name().length() > 0)
message = String.format("%s %s", notification.getAccount().getDisplay_name(), getString(R.string.notif_status));
else
message = String.format("@%s %s", notification.getAccount().getAcct(), getString(R.string.notif_status));
if (notification.getStatus() != null) {
if (notification.getStatus().getSpoiler_text() != null && notification.getStatus().getSpoiler_text().length() > 0) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
message = "\n" + new SpannableString(Html.fromHtml(notification.getStatus().getSpoiler_text(), FROM_HTML_MODE_LEGACY));
else
message = "\n" + new SpannableString(Html.fromHtml(notification.getStatus().getSpoiler_text()));
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
message = "\n" + new SpannableString(Html.fromHtml(notification.getStatus().getContent(), FROM_HTML_MODE_LEGACY));
else
message = "\n" + new SpannableString(Html.fromHtml(notification.getStatus().getContent()));
}
}
} else {
canSendBroadCast = false;
}
break;
case "reblog":
notifType = Helper.NotifType.BOOST;
if (notif_share) {

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z"/>
</vector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.9,2 2,2zM18,16v-5c0,-3.07 -1.63,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.64,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2zM16,17L8,17v-6c0,-2.48 1.51,-4.5 4,-4.5s4,2.02 4,4.5v6z"/>
</vector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M7.58,4.08L6.15,2.65C3.75,4.48 2.17,7.3 2.03,10.5h2c0.15,-2.65 1.51,-4.97 3.55,-6.42zM19.97,10.5h2c-0.15,-3.2 -1.73,-6.02 -4.12,-7.85l-1.42,1.43c2.02,1.45 3.39,3.77 3.54,6.42zM18,11c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2v-5zM12,22c0.14,0 0.27,-0.01 0.4,-0.04 0.65,-0.14 1.18,-0.58 1.44,-1.18 0.1,-0.24 0.15,-0.5 0.15,-0.78h-4c0.01,1.1 0.9,2 2.01,2z"/>
</vector>

View File

@ -77,6 +77,7 @@
android:layout_height="45dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:contentDescription="@string/make_an_action"
android:scaleType="fitCenter"
android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/account_pp"
@ -90,6 +91,7 @@
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:scaleType="fitCenter"
android:contentDescription="@string/edit_profile"
android:src="@drawable/ic_edit"
android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/account_pp"
@ -104,10 +106,25 @@
android:layout_marginTop="10dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_note"
android:contentDescription="@string/action_add_notes"
android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/account_follow"
app:layout_constraintTop_toBottomOf="@id/banner_pp" />
<ImageButton
android:id="@+id/account_notification"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:contentDescription="@string/set_notify"
android:scaleType="fitCenter"
android:src="@drawable/ic_baseline_notifications_account_none"
android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/account_personal_note"
app:layout_constraintTop_toBottomOf="@id/banner_pp" />
<View
android:layout_width="match_parent"
android:layout_height="50dp"
@ -192,7 +209,8 @@
android:background="@drawable/red_border"
android:text="Peertube"
android:textColor="@color/red_1"
android:visibility="gone" />
android:visibility="gone"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/account_bot"

View File

@ -112,6 +112,21 @@
app:layout_constraintStart_toEndOf="@id/account_follow"
app:layout_constraintTop_toBottomOf="@id/banner_pp" />
<ImageButton
android:id="@+id/account_notification"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:contentDescription="@string/set_notify"
android:scaleType="fitCenter"
android:src="@drawable/ic_baseline_notifications_account_none"
android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/account_personal_note"
app:layout_constraintTop_toBottomOf="@id/banner_pp" />
<View
android:layout_width="match_parent"
android:layout_height="50dp"

View File

@ -341,10 +341,15 @@
android:tint="@android:color/white" />
<Button
android:id="@+id/sound_status"
style="@style/colored_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="invisible" />
android:gravity="center"
android:singleLine="true"
android:text="@string/channel_notif_status"
android:tint="@android:color/white" />
</LinearLayout>
</LinearLayout>
@ -492,6 +497,30 @@
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/settings_option_margin"
android:layout_marginBottom="@dimen/settings_option_margin"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:layout_weight="1"
android:text="@string/set_notif_status"
android:textSize="16sp" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/set_notif_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<!-- END NOTIFICATIONS SETTINGS -->
<LinearLayout

View File

@ -27,6 +27,12 @@
android:title="@string/reblog"
app:actionViewClass="android.widget.CheckBox"
app:showAsAction="always" />
<item
android:id="@+id/action_status"
android:checkable="true"
android:title="@string/new_toot"
app:actionViewClass="android.widget.CheckBox"
app:showAsAction="always" />
<item
android:id="@+id/action_poll"
android:checkable="true"

View File

@ -232,6 +232,7 @@
<!-- Notifications -->
<string name="no_notifications">لا توجد هناك إخطارات للعرض</string>
<string name="notif_mention">أشار إليك</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">رقى تبويقك</string>
<string name="notif_favourite">أُعجِب بتبويقك</string>
<string name="notif_follow">يتابعك</string>
@ -310,6 +311,7 @@
<string name="set_notif_follow_add">إخطاري عندما يُعجَب أحدهم بأحد منشوراتي</string>
<string name="set_notif_follow_mention">إخطاري عندما يُشار إليّ</string>
<string name="set_notif_follow_poll">أرسل إشعاراً عند انتهاء استطلاع الرأي</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">عرض مربع حوار للتأكيد قبل ترقية أي تبويق</string>
<string name="set_share_validation_fav">عرض مربع حوار للتأكيد قبل إضافة أي تبويق إلى المفضلة</string>
<string name="set_wifi_only">تفعيل الإخطار في وضع الواي فاي فقط</string>
@ -542,6 +544,7 @@
<string name="channel_notif_poll">انتهى استطلاع الرأي</string>
<string name="channel_notif_toot">تبويق جديد</string>
<string name="channel_notif_backup">النسخ الاحتياطي للتبويقات</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">تنزيل الوسائط</string>
<string name="set_notif_sound">تغيير الإشعار الصوتي</string>
<string name="select_sound">اختيار نغمة</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">No notification to display</string>
<string name="notif_mention">mentioned you</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boosted your status</string>
<string name="notif_favourite">favourited your status</string>
<string name="notif_follow">followed you</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">No notification to display</string>
<string name="notif_mention">mentioned you</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boosted your status</string>
<string name="notif_favourite">favourited your status</string>
<string name="notif_follow">followed you</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -228,6 +228,7 @@
<!-- Notifications -->
<string name="no_notifications">No notification to display</string>
<string name="notif_mention">mentioned you</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boosted your status</string>
<string name="notif_favourite">favourited your status</string>
<string name="notif_follow">followed you</string>
@ -304,6 +305,7 @@
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -537,6 +539,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">No hi ha notificacions per mostrar</string>
<string name="notif_mention">t\'ha mencionat</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">ha difós el teu missatge</string>
<string name="notif_favourite">ha marcat com a preferit el teu missatge</string>
<string name="notif_follow">t\'ha començat a seguir</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Avisa quan algú marqui el teu missatge com a preferit</string>
<string name="set_notif_follow_mention">Avisa quan algú et mencioni</string>
<string name="set_notif_follow_poll">Avisar quan una enquesta finalitzi</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Demana confirmació abans de difondre</string>
<string name="set_share_validation_fav">Demana confirmació abans d\'afegir a preferits</string>
<string name="set_wifi_only">Enviar avisos només amb WIFI</string>
@ -511,6 +513,7 @@ Quan s\'esborra l\'aplicació s\'eliminen les dades immediatament.\n
<string name="channel_notif_poll">Enquesta finalitzada</string>
<string name="channel_notif_toot">Bram nou</string>
<string name="channel_notif_backup">Còpia de seguretat de brams</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Baixada de mèdia</string>
<string name="set_notif_sound">Canvi del so d\'avís</string>
<string name="select_sound">Selecciona el so</string>

View File

@ -224,6 +224,7 @@
<!-- Notifications -->
<string name="no_notifications">Žádné upozornění k zobrazení</string>
<string name="notif_mention">vás zmínil/a</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boostnul/a váš toot</string>
<string name="notif_favourite">si oblíbil/a váš toot</string>
<string name="notif_follow">vás sleduje</string>
@ -298,6 +299,7 @@
<string name="set_notif_follow_add">Oznámení v případě oblíbení vašeho tootu</string>
<string name="set_notif_follow_mention">Oznámení v případě, že vás někdo zmíní</string>
<string name="set_notif_follow_poll">Oznámení po skončení ankety</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Zobrazit potvrzení před boostnutí</string>
<string name="set_share_validation_fav">Zobrazit potvrzení před oblíbením</string>
<string name="set_wifi_only">Oznámení pouze na WIFI</string>
@ -529,6 +531,7 @@ Uživatelské jméno a heslo nejsou nikdy ukládány. Jsou použity pouze během
<string name="channel_notif_poll">Anketa skončila</string>
<string name="channel_notif_toot">Nový toot</string>
<string name="channel_notif_backup">Záloha tootů</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Stahování médií</string>
<string name="set_notif_sound">Výchozí zvuk oznámení</string>
<string name="select_sound">Vybrat tón</string>

View File

@ -232,6 +232,7 @@
<!-- Notifications -->
<string name="no_notifications">Dim hysbysiad i\'w arddangos</string>
<string name="notif_mention">wedi\'ch crybwyll</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">wedi hybu\'ch tŵt</string>
<string name="notif_favourite">wedi nodi\'ch tŵt yn ffefryn</string>
<string name="notif_follow">wedi\'ch dilyn chi</string>
@ -310,6 +311,7 @@
<string name="set_notif_follow_add">Hysbysu pan mae rhywun yn ffefrynnu eich statws</string>
<string name="set_notif_follow_mention">Hysbysu pan mae rhywun yn sôn amdanoch chi</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Dangos deialog cadarnhau cyn hybu</string>
<string name="set_share_validation_fav">Dangos deialog cadarnhau cyn ychwanegu i\'r ffefrynnau</string>
<string name="set_wifi_only">Ond hysbysu pan yn gysylltiedig i WIFI</string>
@ -542,6 +544,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Tŵt Newydd</string>
<string name="channel_notif_backup">Tŵtiau wrth gefn</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Lawrlwytho Cyfryngau</string>
<string name="set_notif_sound">Newid swn hsybysu</string>
<string name="select_sound">Dewis tôn</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Ingen notifikationer at vise</string>
<string name="notif_mention">nævnte dig</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boostede din status</string>
<string name="notif_favourite">favoriserede din status</string>
<string name="notif_follow">fulgte dig</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notificér, når nogen favoriserer din status</string>
<string name="set_notif_follow_mention">Notificér, når nogen nævner dig</string>
<string name="set_notif_follow_poll">Advisér, når en afstemning er afsluttet</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Vis bekræftelsesdialog inden boosting</string>
<string name="set_share_validation_fav">Vis bekræftelsesdialog inden favorittilføjelse</string>
<string name="set_wifi_only">Notificér kun via Wi-Fi</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Afstemning afsluttet</string>
<string name="channel_notif_toot">Nyt toot</string>
<string name="channel_notif_backup">Toot-sikkerhedskopiering</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Medie-download</string>
<string name="set_notif_sound">Skift notifikationslyd</string>
<string name="select_sound">Vælg lyd</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Keine Benachrichtigungen</string>
<string name="notif_mention">hat dich erwähnt</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">hat deinen Beitrag geteilt</string>
<string name="notif_favourite">hat deinen Status favorisiert</string>
<string name="notif_follow">folgt dir</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">jemand meinen Beitrag favorisiert</string>
<string name="set_notif_follow_mention">ich erwähnt werde</string>
<string name="set_notif_follow_poll">Benachrichtigen, sobald eine Umfrage beendet ist</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Bestätigungsdialog vor dem Teilen anzeigen</string>
<string name="set_share_validation_fav">Bestätigungsdialog vor dem Favorisieren anzeigen</string>
<string name="set_wifi_only">Nur bei WLAN benachrichtigen</string>
@ -512,6 +514,7 @@ Durch das Löschen der Anwendung werden diese Daten sofort entfernt.\n
<string name="channel_notif_poll">Umfrage beendet</string>
<string name="channel_notif_toot">Neuer Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Medien Download</string>
<string name="set_notif_sound">Ändere Ton für Benachrichtigungen</string>
<string name="select_sound">Klingelton auswählen</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Καμία ειδοποίηση προς εμφάνιση</string>
<string name="notif_mention">σε ανέφερε</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">ενίσχυσε την κατάστασή σου</string>
<string name="notif_favourite">έδειξε προτίμηση στην κατάστασή σου</string>
<string name="notif_follow">άρχισε να σε παρακολουθεί</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Ειδοποίηση όταν σε κάποιον αρέσει η κατάστασή σου</string>
<string name="set_notif_follow_mention">Ειδοποίηση όταν κάποιος σε αναφέρει</string>
<string name="set_notif_follow_poll">Ειδοποίηση όταν τελειώνει μια ψηφοφορία</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Προβολή του διαλόγου επιβεβαίωσης, πριν από την ενίσχυση</string>
<string name="set_share_validation_fav">Προβολή του διαλόγου επιβεβαίωσης, πριν να γίνει προσθήκη στα Αγαπημένα</string>
<string name="set_wifi_only">Ειδοποίηση μόνο όταν σε Γουάι-Φάι</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Η Ψηφοφορία Τελείωσε</string>
<string name="channel_notif_toot">Νέα Φωνή</string>
<string name="channel_notif_backup">Αντίγραφο των Φωνών</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Κατέβασμα Πολυμέσων</string>
<string name="set_notif_sound">Αλλαγή του ήχου των ειδοποιήσεων</string>
<string name="select_sound">Επιλογή Τόνου</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Neniun sciigon por montri</string>
<string name="notif_mention">%s menciis vin</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">{name} diskonigis vian mesaĝon</string>
<string name="notif_favourite">{name} stelumis vian mesaĝon</string>
<string name="notif_follow">%s eksekvis vin</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Voĉdonado Finiĝis</string>
<string name="channel_notif_toot">Nova Hup</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Elekti Tono</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Ninguna notificación para mostrar</string>
<string name="notif_mention">te mencionó</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">impulsó tu estado</string>
<string name="notif_favourite">marcó como favorito tu estado</string>
<string name="notif_follow">te siguió</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notificar cuando alguien agrega a favoritos tu estado</string>
<string name="set_notif_follow_mention">Notificar cuando alguien te mencione</string>
<string name="set_notif_follow_poll">Notificar cuando termine una encuesta</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Mostrar diálogo de confirmación antes de impulsar</string>
<string name="set_share_validation_fav">Mostrar diálogo de confirmación antes de agregar a favoritos</string>
<string name="set_wifi_only">Notificaciones en WI-FI solamente</string>
@ -514,6 +516,7 @@ https://yandex.ru/legal/confidential/?lang=en </string>
<string name="channel_notif_poll">Encuesta Terminada</string>
<string name="channel_notif_toot">Nuevo Toot</string>
<string name="channel_notif_backup">Respaldo de toots</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Descargar contenido multimedia</string>
<string name="set_notif_sound">Modificar la notificación de sonido</string>
<string name="select_sound">Seleccionar tono</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Jakinarazpenik ez bistaratzeko</string>
<string name="notif_mention">erabiltzaileak aipatu zaitu</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">erabiltzaileak zure mezuari bultzada eman dio</string>
<string name="notif_favourite">erabiltzaileak zure mezua gogoko du</string>
<string name="notif_follow">zu jarraitzen hasi da</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Jakinarazi norbaitek zure mezua gogoko duenean</string>
<string name="set_notif_follow_mention">Jakinarazi norbaitek aipatzen zaituenean</string>
<string name="set_notif_follow_poll">Jakinarazi inkesta bat amaitu denean</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Baieztatu bultzada eman aurretik</string>
<string name="set_share_validation_fav">Baieztatu gogokoetara gehitu aurretik</string>
<string name="set_wifi_only">Jakinarazi WIFI bidez besterik ez</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Inkesta amaituta</string>
<string name="channel_notif_toot">Toot berria</string>
<string name="channel_notif_backup">Toot-en babes-kopia</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Multimediaren deskarga</string>
<string name="set_notif_sound">Aldatu jakinarazpen-soinua</string>
<string name="select_sound">Hautatu doinua</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">No notification to display</string>
<string name="notif_mention">mentioned you</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boosted your status</string>
<string name="notif_favourite">favourited your status</string>
<string name="notif_follow">followed you</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Aucune notification à afficher</string>
<string name="notif_mention">vous a mentionné</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">a partagé votre pouet</string>
<string name="notif_favourite">a ajouté votre pouet à ses favoris</string>
<string name="notif_follow">vous suit</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notifier lorsque quelquun ajoute mes pouets à ses favoris</string>
<string name="set_notif_follow_mention">Notifier lorsque quelquun me mentionne</string>
<string name="set_notif_follow_poll">Me notifier lorsquun sondage est terminé</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Confirmer avant de partager</string>
<string name="set_share_validation_fav">Confirmer avant dajouter aux favoris</string>
<string name="set_wifi_only">Notifier en WIFI seulement</string>
@ -517,6 +519,7 @@
<string name="channel_notif_poll">Sondage terminé</string>
<string name="channel_notif_toot">Nouveau pouet</string>
<string name="channel_notif_backup">Sauvegarde des Pouets</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Téléchargement des Médias</string>
<string name="set_notif_sound">Changer le son des notifications</string>
<string name="select_sound">Choisir une sonnerie</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Sen notificación que mostrar</string>
<string name="notif_mention">mencionouna</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">promoveu o seu estado</string>
<string name="notif_favourite">favoreceu o seu estado</string>
<string name="notif_follow">segueuna</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notificar cando alguén favorece un dos seus estados</string>
<string name="set_notif_follow_mention">Notificar cando alguén a menciona</string>
<string name="set_notif_follow_poll">Notificar cando remate unha sondaxe</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Solicitar confirmación antes de promover</string>
<string name="set_share_validation_fav">Solicitar confirmación antes de engadir a favoritos</string>
<string name="set_wifi_only">Notificar só cando WiFi</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Rematou a sondaxe</string>
<string name="channel_notif_toot">Novo Toot</string>
<string name="channel_notif_backup">Respaldo de Toots</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Descarga de medios</string>
<string name="set_notif_sound">Cambiar o tono de notificación</string>
<string name="select_sound">Escoller Tono</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">कोई सूचना मौजूद नहीं है</string>
<string name="notif_mention">आपका उल्लेख किया</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">आपका लेख बूस्ट किया</string>
<string name="notif_favourite">आपका लेख पसंद किया</string>
<string name="notif_follow">आपका अनुसरण किया</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">आपके लेख पसंद होने पर सूचित करें</string>
<string name="set_notif_follow_mention">आपका उल्लेख होने पर सूचित करें</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">बूस्ट करने से पहले पूछें</string>
<string name="set_share_validation_fav">पसंद करने से पहले पूछें</string>
<string name="set_wifi_only">केवल वाईफ़ाई पे सूचित करें</string>
@ -512,6 +514,7 @@
<string name="channel_notif_poll">चुनाव समाप्त हो गया</string>
<string name="channel_notif_toot">नया लेख</string>
<string name="channel_notif_backup">लेखों का बैकअप</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">मीडिया डाउंलोड</string>
<string name="set_notif_sound">सूचना संगीत को बदलें</string>
<string name="select_sound">टोन चुनें</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Nincs megjelenítendő értesítés</string>
<string name="notif_mention">megemlített téged</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">megismételte posztodat</string>
<string name="notif_favourite">lájkolta a posztodat</string>
<string name="notif_follow">követett téged</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Értesíts, ha valaki lájkolja a posztodat</string>
<string name="set_notif_follow_mention">Értesíts, amikor valaki megemlít téged</string>
<string name="set_notif_follow_poll">Értesíts, amikor egy szavazás végetér</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Kérdezz vissza újratootolás előtt</string>
<string name="set_share_validation_fav">Megerősítés kérése kedvencekhez hozzáadás előtt</string>
<string name="set_wifi_only">Értesítés csak WiFi használatakor </string>
@ -517,6 +519,7 @@ A Yandexnek megvan a saját adatvédelmi szabályzata, ami itt található: http
<string name="channel_notif_poll">A szavazás véget ért</string>
<string name="channel_notif_toot">Új toot</string>
<string name="channel_notif_backup">Tootok elmentése</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Média letöltése</string>
<string name="set_notif_sound">Értesítési hang megváltoztatása</string>
<string name="select_sound">Hang kiválasztása</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Ծանուցում չկա</string>
<string name="notif_mention">-ը հիշատակել է քեզ</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">-ը խրախուսել է քո թութը</string>
<string name="notif_favourite">-ը գրառումդ ավելացրել է նախընտրումներին</string>
<string name="notif_follow">-ը հետևում է քեզ</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Տեղեկացնել, երբ որևէ մեկը հավանում է թութդ</string>
<string name="set_notif_follow_mention">Տեղեկացնել, երբ որևէ մեկը նշում է քեզ</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Ցուցադրել հաստատման պատուհանը տարածելուց առաջ</string>
<string name="set_share_validation_fav">Ցուցադրել հաստատման պատուհանը հավանածներին ավելացնելուց առաջ</string>
<string name="set_wifi_only">Ծանուցել միայն WIFI-ին կպած</string>
@ -518,6 +520,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -212,6 +212,7 @@
<!-- Notifications -->
<string name="no_notifications">Tidak ada pemberitahuan untuk ditampilkan</string>
<string name="notif_mention">menyebutmu</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">tingkatkan status Kamu</string>
<string name="notif_favourite">status kesukaan Kamu</string>
<string name="notif_follow">mengikutimu</string>
@ -280,6 +281,7 @@
<string name="set_notif_follow_add">Beritahu ketika seseorang menyukai status Anda</string>
<string name="set_notif_follow_mention">Beritahu ketika seseorang menyebut Anda</string>
<string name="set_notif_follow_poll">Beritahu ketika pemilihan berakhir</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Tampilkan dialog konfirmasi sebelum meningkatkan</string>
<string name="set_share_validation_fav">Tampilkan dialog konfirmasi sebelum menambahkan ke favorit</string>
<string name="set_wifi_only">Beritahu hanya di WIFI</string>
@ -515,6 +517,7 @@ https://yandex.ru/legal/confidential/?lang=en
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Nessuna notifica da visualizzare</string>
<string name="notif_mention">ti ha menzionato</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">ha ricondiviso il tuo stato</string>
<string name="notif_favourite">ha messo tra i preferiti il tuo stato</string>
<string name="notif_follow">ti segue</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notifica quando qualcuno mette tra i preferiti il tuo stato</string>
<string name="set_notif_follow_mention">Notifica quando qualcuno ti menziona</string>
<string name="set_notif_follow_poll">Notifica quando termina un sondaggio</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Mostra finestra di dialogo prima della ricondivisione</string>
<string name="set_share_validation_fav">Mostra finestra di dialogo prima di aggiungere ai preferiti</string>
<string name="set_wifi_only">Notifica solo in WIFI</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Sondaggio terminato</string>
<string name="channel_notif_toot">Un nuovo toot</string>
<string name="channel_notif_backup">Backup dei toot</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Scarica i media</string>
<string name="set_notif_sound">Cambia il suono di notifica</string>
<string name="select_sound">Seleziona tono</string>

View File

@ -212,6 +212,7 @@
<!-- Notifications -->
<string name="no_notifications">通知はありません</string>
<string name="notif_mention">にメンションされました</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">がブーストしました</string>
<string name="notif_favourite">がお気に入りに登録しました</string>
<string name="notif_follow">があなたをフォローしました</string>
@ -280,6 +281,7 @@
<string name="set_notif_follow_add">トゥートがお気に入りに追加されたときに通知する</string>
<string name="set_notif_follow_mention">メンションを受け取ったときに通知する</string>
<string name="set_notif_follow_poll">投票が終了したら通知する</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">ブースト前に確認ダイアログを表示する</string>
<string name="set_share_validation_fav">お気に入りに追加する前に確認ダイアログを表示する</string>
<string name="set_wifi_only">WIFI接続時のみ通知</string>
@ -507,6 +509,7 @@
<string name="channel_notif_poll">投票終了</string>
<string name="channel_notif_toot">新しいトゥート</string>
<string name="channel_notif_backup">トゥート バックアップ</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">メディアのダウンロード</string>
<string name="set_notif_sound">通知サウンドを変更</string>
<string name="select_sound">音の選択</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">No notification to display</string>
<string name="notif_mention">yuder-ik id</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boosted your status</string>
<string name="notif_favourite">favourited your status</string>
<string name="notif_follow">i ḍferek id</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -212,6 +212,7 @@
<!-- Notifications -->
<string name="no_notifications">표시할 알림이 없습니다</string>
<string name="notif_mention">당신을 언급했습니다</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">당신의 게시물을 부스트 했습니다</string>
<string name="notif_favourite">당신의 상태를 마음에 들어했습니다</string>
<string name="notif_follow">당신을 팔로우 했습니다</string>
@ -280,6 +281,7 @@
<string name="set_notif_follow_add">누군가 내 게시물을 마음에 들어 할 때 알림</string>
<string name="set_notif_follow_mention">누군가 나를 언급할 때 알림</string>
<string name="set_notif_follow_poll">투표가 끝나면 알림</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">부스트 하기 전에 확인창 표시</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Wi-Fi에 연결 되었을 때만 알림</string>
@ -513,6 +515,7 @@
<string name="channel_notif_poll">투표 종료</string>
<string name="channel_notif_toot">새 툿</string>
<string name="channel_notif_backup">툿 백업</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">미디어 다운로드</string>
<string name="set_notif_sound">알림음 변경</string>
<string name="select_sound">Select Tone</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">പ്രദർശിപ്പിക്കാൻ അറിയിപ്പുകൾ ഇല്ല</string>
<string name="notif_mention">താങ്കളെ പ്രതിപാദിച്ചിരിക്കുന്നു</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">തങ്ങളുടെ സ്റ്റാറ്റസ് ബൂസ്റ്റ് ചെയ്യപ്പെട്ടിരിക്കുന്നു</string>
<string name="notif_favourite">താങ്കളുടെ സ്റ്റാറ്റസ് പ്രിയപെട്ടവയിൽ ചേർത്തിരിക്കുന്നു</string>
<string name="notif_follow">നിങ്ങളെ പിന്തുടരുന്നു</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">ആരെങ്കിലും നിങ്ങളുടെ സ്റ്റാറ്റസ് പ്രിയപ്പെട്ടതാക്കിയാൽ അറിയിക്കുക</string>
<string name="set_notif_follow_mention">ആരെങ്കിലും നിങ്ങളെ പരാമർശിച്ചാൽ അറിയിക്കുക</string>
<string name="set_notif_follow_poll">വോട്ടെടുപ്പു് അവസാനിച്ചാൽ അറിയിക്കുക</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">ബൂസ്റ്റുചെയ്യുന്നതിനു് മുന്പു് സ്ഥിരീകരിയ്ക്കുക</string>
<string name="set_share_validation_fav">പ്രിയങ്കരങ്ങളിലേക്ക് ചേർക്കുന്നതിന് മുമ്പ് സ്ഥിരീകരണ ഡയലോഗ് കാണിക്കുക</string>
<string name="set_wifi_only">വൈഫൈയിൽ മാത്രം അറിയിപ്പുകള്‍ കാണിയ്ക്കുക</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Je hebt nog geen meldingen</string>
<string name="notif_mention">vermeldde jou</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boostte jouw toot</string>
<string name="notif_favourite">markeerde jouw toot als favoriet</string>
<string name="notif_follow">volgt jou nu</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Geef een melding wanneer jouw toot als favoriet is gemarkeerd</string>
<string name="set_notif_follow_mention">Geef een melding wanneer iemand jou vermeldt</string>
<string name="set_notif_follow_poll">Geef een melding wanneer een poll is beëindigd</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Vraag voor het boosten een bevestiging</string>
<string name="set_share_validation_fav">Vraag voor het markeren als favoriet een bevestiging</string>
<string name="set_wifi_only">Alleen met Wifi meldingen tonen</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Poll is beëindigd</string>
<string name="channel_notif_toot">Nieuwe toot</string>
<string name="channel_notif_backup">Toots back-uppen</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media downloaden</string>
<string name="set_notif_sound">Meldingsgeluid veranderen</string>
<string name="select_sound">Selecteer toon</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Ingen varslinger for å vise</string>
<string name="notif_mention">nevnte deg</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boostet tootet ditt</string>
<string name="notif_favourite">favoriserte tootet ditt</string>
<string name="notif_follow">fulgte deg</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Varsle når noen favoriserer tootene dine</string>
<string name="set_notif_follow_mention">Varsle når noen nevner deg</string>
<string name="set_notif_follow_poll">Varsle når en avstemming er avsluttet</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Vis bekreftelsesdialog før du booster</string>
<string name="set_share_validation_fav">Vis bekreftelsesdialog før du legger til i favoritter</string>
<string name="set_wifi_only">Varsle kun på WIFI</string>
@ -511,6 +513,7 @@ Du kan aktivere eller deaktivere disse meldingene senere i innstillingene (Meldi
<string name="channel_notif_poll">Avstemming avsluttet</string>
<string name="channel_notif_toot">Ny toot</string>
<string name="channel_notif_backup">Backup av toots</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Last ned media</string>
<string name="set_notif_sound">Endre varsellyd</string>
<string name="select_sound">Velg varsellyd</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">No notification to display</string>
<string name="notif_mention">mentioned you</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boosted your status</string>
<string name="notif_favourite">favourited your status</string>
<string name="notif_follow">followed you</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -224,6 +224,7 @@
<!-- Notifications -->
<string name="no_notifications">Brak powiadomień do wyświetlenia</string>
<string name="notif_mention">wspomniał o tobie</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">podbił twój wpis</string>
<string name="notif_favourite">dodał(a) Twój wpis do ulubionych</string>
<string name="notif_follow">zaczął(-ęła) Cię śledzić</string>
@ -298,6 +299,7 @@
<string name="set_notif_follow_add">Powiadom mnie, gdy ktoś polubi mój wpis</string>
<string name="set_notif_follow_mention">Powiadom mnie, gdy ktoś mnie wspomni</string>
<string name="set_notif_follow_poll">Powiadom kiedy głosowanie zostanie zakończone</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Proś o potwierdzenie przed podbiciem</string>
<string name="set_share_validation_fav">Proś o potwierdzenie przed dodaniem wpisu do ulubionych</string>
<string name="set_wifi_only">Powiadamiaj tylko w sieci WiFi</string>
@ -529,6 +531,7 @@
<string name="channel_notif_poll">Głosowanie zakończone</string>
<string name="channel_notif_toot">Nowy Wpis</string>
<string name="channel_notif_backup">Kopia zapasowa wpisów</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Pobrane Media</string>
<string name="set_notif_sound">Zmień dźwięk powiadomień</string>
<string name="select_sound">Wybierz Dźwięk</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Sem notificações</string>
<string name="notif_mention">te mencionou</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">deu boost no seu toot</string>
<string name="notif_favourite">favoritou seu toot</string>
<string name="notif_follow">te seguiu</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notificar quando alguém favoritar seus toots</string>
<string name="set_notif_follow_mention">Notificar quando alguém te mencionar</string>
<string name="set_notif_follow_poll">Notificar quando uma sondagem terminar</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Mostrar diálogo antes de dar boost</string>
<string name="set_share_validation_fav">Mostrar diálogo antes de favoritar</string>
<string name="set_wifi_only">Notificar somente em Wi-Fi</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Sondagem terminada</string>
<string name="channel_notif_toot">Novo toot</string>
<string name="channel_notif_backup">Backup de Toots</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Baixar mídia</string>
<string name="set_notif_sound">Alterar som de notificação</string>
<string name="select_sound">Selecionar toque</string>

View File

@ -220,6 +220,7 @@
<!-- Notifications -->
<string name="no_notifications">Nici o notificare de afişat</string>
<string name="notif_mention">ai fost menționat</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">a amplificat statusul tău</string>
<string name="notif_favourite">a favorizat statusul tău</string>
<string name="notif_follow">vă urmărește</string>
@ -292,6 +293,7 @@
<string name="set_notif_follow_add">Notifica atunci când cineva favorizează statusul tău</string>
<string name="set_notif_follow_mention">Notifică atunci când cineva vă menţionează</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Arată caseta de confirmare înainte de amplificare</string>
<string name="set_share_validation_fav">Arată caseta de confirmare înainte de a adăuga la favorite</string>
<string name="set_wifi_only">Notifică doar în WIFI</string>
@ -523,6 +525,7 @@ Aceste date sunt strict confidențiale și pot fi folosite doar de aplicație.
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -224,6 +224,7 @@
<!-- Notifications -->
<string name="no_notifications">Нет уведомлений для отображения</string>
<string name="notif_mention">упомянул(а) вас</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">ваш статус продвинут</string>
<string name="notif_favourite">добавил ваш статус в избранные</string>
<string name="notif_follow">подписался на вас</string>
@ -298,6 +299,7 @@
<string name="set_notif_follow_add">Уведомлять, если кто-то добавил ваш статус в избранное</string>
<string name="set_notif_follow_mention">Уведомлять, когда кто-то вас упоминает</string>
<string name="set_notif_follow_poll">Уведомлять об окончании опроса</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Предупреждать перед тем как продвинуть</string>
<string name="set_share_validation_fav">Предупреждать перед добавлением в избранные</string>
<string name="set_wifi_only">Уведомлять только в сети WIFI</string>
@ -531,6 +533,7 @@
<string name="channel_notif_poll">Опрос закончен</string>
<string name="channel_notif_toot">Новый тут</string>
<string name="channel_notif_backup">Резервирование тутов</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Загрузка медиа</string>
<string name="set_notif_sound">Изменить звук уведомления</string>
<string name="select_sound">Выбрать сигнал</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Peruna notìfica de ammustrare</string>
<string name="notif_mention">t\'at mentovadu</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">at cumpartzidu s\'istadu tuo</string>
<string name="notif_favourite">at agiuntu s\'istadu tuo a is preferidos suos</string>
<string name="notif_follow">at comintzadu a ti sighire</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notìfica cando calicunu ponet s\'istadu tuo in is preferidos suos</string>
<string name="set_notif_follow_mention">Notìfica cando calicunu ti mentovat</string>
<string name="set_notif_follow_poll">Notìfica cando acabat unu sondàgiu</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Ammustra una ventanedda de diàlogu de cunfirma in antis de cumpartzire</string>
<string name="set_share_validation_fav">Ammustra una ventanedda de diàlogu de cunfirma in antis de agiùnghere a is preferidos</string>
<string name="set_wifi_only">Notìfica sceti cun su WIFI</string>
@ -490,6 +492,7 @@
<string name="channel_notif_poll">Sondàgiu acabadu</string>
<string name="channel_notif_toot">Tut nou</string>
<string name="channel_notif_backup">Còpia de seguresa de is tuts</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Iscàrriga is mèdios</string>
<string name="set_notif_sound">Càmbia su sonu de notìfica</string>
<string name="select_sound">Seletziona sa soneria</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">පෙන්වීමට දැනුම්දීම් නැත</string>
<string name="notif_mention">ඔබව සඳහන් කළා</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boosted your status</string>
<string name="notif_favourite">favourited your status</string>
<string name="notif_follow">followed you</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">ගීත කණ්ඩය තෝරාගන්න</string>

View File

@ -224,6 +224,7 @@
<!-- Notifications -->
<string name="no_notifications">Ni obvestil za prikaz</string>
<string name="notif_mention">vas omenja</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">je ojačal tvoj status</string>
<string name="notif_favourite">je všeč tvoja objava</string>
<string name="notif_follow">spremlja vas</string>
@ -298,6 +299,7 @@
<string name="set_notif_follow_add">Obveščaj me, ko kdo moj status doda med priljubljene</string>
<string name="set_notif_follow_mention">Obveščaj me, ko me kdo omeni</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Vprašaj me za potrditev preden ojačam</string>
<string name="set_share_validation_fav">Pred dodajanjem med priljubljene me vprašaj za potrditev</string>
<string name="set_wifi_only">Obveščanj le v omrežju WiFi</string>
@ -531,6 +533,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Nova objava Toot</string>
<string name="channel_notif_backup">Arhivirani Tooti</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Prenos vsebine</string>
<string name="set_notif_sound">Spremeni zvok ob obvestilih</string>
<string name="select_sound">Izberite zvok</string>

View File

@ -220,6 +220,7 @@
<!-- Notifications -->
<string name="no_notifications">Нема обавештења за приказ</string>
<string name="notif_mention">Вас је поменуо</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">је подржао Ваш статус</string>
<string name="notif_favourite">је ставио Ваш статус као омиљени</string>
<string name="notif_follow">Вас је запратио</string>
@ -292,6 +293,7 @@
<string name="set_notif_follow_add">Обавести када неко стави да му је Ваш статус омиљен</string>
<string name="set_notif_follow_mention">Обавести када Вас неко помене</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Прикажи потврду пре давања подршке некоме</string>
<string name="set_share_validation_fav">Прикажи дијалог за потврду пре додавања у омиљене</string>
<string name="set_wifi_only">Обавештавај само на бежичној мрежи</string>
@ -525,6 +527,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Нови тут</string>
<string name="channel_notif_backup">Резервне копије тутова</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Преузимање мултимедије</string>
<string name="set_notif_sound">Промени звук обавештења</string>
<string name="select_sound">Изаберите тон</string>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Ingen anmälan att Visa</string>
<string name="notif_mention">nämnde dig</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">ökat din status</string>
<string name="notif_favourite">favourited din status</string>
<string name="notif_follow">följt dig</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Meddela när någon favoriter din status</string>
<string name="set_notif_follow_mention">Meddela när någon nämner dig</string>
<string name="set_notif_follow_poll">Meddela när en röstning slutar</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Visa en bekräftelsedialogruta före boostning</string>
<string name="set_share_validation_fav">Visa bekräftelsedialogrutan innan du lägger till favoriter</string>
<string name="set_wifi_only">Notifiera endast över WIFI</string>
@ -519,6 +521,7 @@
<string name="channel_notif_poll">Röstning avslutad</string>
<string name="channel_notif_toot">Ny Toot</string>
<string name="channel_notif_backup">Backup av Toot</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Ladda ner media</string>
<string name="set_notif_sound">Ändra notifieringsljud</string>
<string name="select_sound">Välj ton</string>

View File

@ -224,6 +224,7 @@
<!-- Notifications -->
<string name="no_notifications">Żodnych powiadōmiyń do pokozanio</string>
<string name="notif_mention">spōmino cie</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">rozgłoszo twōj status</string>
<string name="notif_favourite">lubi twōj status</string>
<string name="notif_follow">śledzi cie</string>
@ -298,6 +299,7 @@
<string name="set_notif_follow_add">Powiadōm, jak ftoś lubi mōj status</string>
<string name="set_notif_follow_mention">Powiadōm, jak ftoś mie spōmino</string>
<string name="set_notif_follow_poll">Powiadōm, jak anketa sie skōńczy</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Pytej ô potwiyrdzynie przed rozgłoszyniym</string>
<string name="set_share_validation_fav">Pytej ô potwiyrdzynie przed polubiyniym</string>
<string name="set_wifi_only">Powiadōm ino przi Wifi</string>
@ -531,6 +533,7 @@
<string name="channel_notif_poll">Anketa skōńczōno</string>
<string name="channel_notif_toot">Nowy tut</string>
<string name="channel_notif_backup">Kopijo ibryczno tutōw</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Ściōnganie mediōw</string>
<string name="set_notif_sound">Zmiyń klang powiadōmiyń</string>
<string name="select_sound">Wybier tōn</string>
@ -1137,6 +1140,6 @@
<string name="add_reaction">Przidej reakcyjo</string>
<string name="set_custom_tabs_indication">Użyj swojij preferowanyj przeglōndarki we aplikacyji. Ôdznacz ta funkcyjo, żeby ôtwiyrać linki zewnyntrznie.</string>
<string name="set_video_cache">Cache wideo we MB, zero znaczy brak cache.</string>
<string name="set_watermark">Watermarks</string>
<string name="set_watermark_indication">Automatically add a watermark at the bottom of pictures. The text can be customized for each account.</string>
<string name="set_watermark">Znaki wodne</string>
<string name="set_watermark_indication">Dodej autōmatycznie znak wodny na spodku ôbrozkōw. Inkszy tekst może być nasztalowany do kożdego kōnta.</string>
</resources>

View File

@ -216,6 +216,7 @@
<!-- Notifications -->
<string name="no_notifications">Görüntülenecek bildirim yok</string>
<string name="notif_mention">senden bahsetti</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">durumunu arttırdı</string>
<string name="notif_favourite">durumunu favorilere ekledi</string>
<string name="notif_follow">seni takip etti</string>
@ -286,6 +287,7 @@
<string name="set_notif_follow_add">Biri durumunuzu favorilere eklerse bildir</string>
<string name="set_notif_follow_mention">Biri kullanıcıyı takip ettiğinde bildir</string>
<string name="set_notif_follow_poll">Bir anket sona erdiğinde bildir</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Toot arttırmadan önce onay kutusu göster</string>
<string name="set_share_validation_fav">Favorilere eklemeden önce onay kutusu göster</string>
<string name="set_wifi_only">Sadece Wi-Fi bağlı iken bildirimleri aç</string>
@ -513,6 +515,7 @@
<string name="channel_notif_poll">Anket Sona Erdi</string>
<string name="channel_notif_toot">Yeni Toot</string>
<string name="channel_notif_backup">Toot Yedekleme</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Medya İndirme</string>
<string name="set_notif_sound">Bildirim sesini değiştir</string>
<string name="select_sound">Ton Seçin</string>

View File

@ -224,6 +224,7 @@
<!-- Notifications -->
<string name="no_notifications">Немає сповіщень для показу</string>
<string name="notif_mention">згадав вас</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">передмухнув ваш статус</string>
<string name="notif_favourite">додав до обраного ваш статус</string>
<string name="notif_follow">підписався(-лась) на вас</string>
@ -298,6 +299,7 @@
<string name="set_notif_follow_add">Сповіщати, якщо хтось додав статус до обраного</string>
<string name="set_notif_follow_mention">Сповіщати, якщо хтось згадує вас</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Показати діалогове вікно підтвердження перед тим, як передмухнути</string>
<string name="set_share_validation_fav">Показати діалогове вікно підтвердження перед тим, як додати до обраного</string>
<string name="set_wifi_only">Повідомити тільки при Wi-Fi</string>
@ -521,6 +523,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Новий гудок</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Медіа завантаження</string>
<string name="set_notif_sound">Змінити звук сповіщення</string>
<string name="select_sound">Оберіть сигнал</string>

View File

@ -212,6 +212,7 @@
<!-- Notifications -->
<string name="no_notifications">Không có thông báo để hiển thị</string>
<string name="notif_mention">đề cập đến bạn</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">đẩy mạnh tình trạng của bạn</string>
<string name="notif_favourite">ưu đãi tình trạng của bạn</string>
<string name="notif_follow">đã theo bạn</string>
@ -281,6 +282,7 @@ và %d thông báo khác</item>
<string name="set_notif_follow_add">Thông báo khi ai đó yêu thích trạng thái của bạn</string>
<string name="set_notif_follow_mention">Thông báo khi ai đó đề cập đến bạn</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Hiển thị hộp thoại xác nhận trước khi tăng</string>
<string name="set_share_validation_fav">Hiển thị hộp thoại xác nhận trước khi thêm vào mục yêu thích</string>
<string name="set_wifi_only">Chỉ thông báo bằng WIFI</string>
@ -510,6 +512,7 @@ và %d thông báo khác</item>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -212,6 +212,7 @@
<!-- Notifications -->
<string name="no_notifications">没有通知可以显示</string>
<string name="notif_mention">提及了您</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">转嘟了您的状态</string>
<string name="notif_favourite">收藏了您的状态</string>
<string name="notif_follow">关注了您</string>
@ -280,6 +281,7 @@
<string name="set_notif_follow_add">当某人收藏您的状态时通知</string>
<string name="set_notif_follow_mention">当有人提到您时通知</string>
<string name="set_notif_follow_poll">当投票结束发出通知</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">转嘟前显示确认对话框</string>
<string name="set_share_validation_fav">添加到收藏夹前显示确认对话框</string>
<string name="set_wifi_only">仅当使用 WiFi 时通知</string>
@ -513,6 +515,7 @@
<string name="channel_notif_poll">投票已结束</string>
<string name="channel_notif_toot">新的嘟文</string>
<string name="channel_notif_backup">嘟文备份</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">媒体下载</string>
<string name="set_notif_sound">更改通知提示音</string>
<string name="select_sound">选择铃声</string>

View File

@ -212,6 +212,7 @@
<!-- Notifications -->
<string name="no_notifications">沒有通知</string>
<string name="notif_mention">提及您</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">已轉嘟您的嘟文</string>
<string name="notif_favourite">將您的嘟文加到最愛</string>
<string name="notif_follow">關注了您</string>
@ -280,6 +281,7 @@
<string name="set_notif_follow_add">當有人收藏您的嘟文時通知您</string>
<string name="set_notif_follow_mention">當有人提及您時通知</string>
<string name="set_notif_follow_poll">投票結束時通知</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">在轉嘟前顯示確認對話框</string>
<string name="set_share_validation_fav">在新增至最愛前顯示確認對話框</string>
<string name="set_wifi_only">僅在使用 Wi-Fi 時才啟用通知</string>
@ -513,6 +515,7 @@ Yandex 有適當的隱私權政策可以在這裡找到https://yandex.ru/l
<string name="channel_notif_poll">投票結束</string>
<string name="channel_notif_toot">新嘟文</string>
<string name="channel_notif_backup">嘟文備份</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">媒體下載</string>
<string name="set_notif_sound">變更通知音效</string>
<string name="select_sound">選取鈴聲</string>

View File

@ -236,6 +236,7 @@
<!-- Notifications -->
<string name="no_notifications">No notification to display</string>
<string name="notif_mention">mentioned you</string>
<string name="notif_status">wrote a new message</string>
<string name="notif_reblog">boosted your status</string>
<string name="notif_favourite">favourited your status</string>
<string name="notif_follow">followed you</string>
@ -306,6 +307,7 @@
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_notif_status">Notify for new posts</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -589,6 +591,7 @@
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_status">New posts</string>
<string name="channel_notif_media">Media Download</string>
<string name="set_notif_sound">Change notification sound</string>
<string name="select_sound">Select Tone</string>

View File

@ -7,7 +7,7 @@
- يدعم الحسابات المتعددة
- برمجة الرسائل من خلال الجهاز
- برمجة الترقيات والمشاركات
- إضافة المنشورات إلى الفواصل المرجعية
- خطوط للفيديوهات
- المتابعة والتفاعل مع الخوادم البعيدة
- ميزة للكتم المؤقت للحسابات
- إجراءات ما بين الحسابات بواسطة الضغط المطوّل

View File

@ -10,7 +10,7 @@ L'aplicació té funcionalitats avançades (sobretot per a Pleroma i Mastodont):
- Marcar missatges
- Seguir i interactuar amb instàncies remotes
- Silenciar comptes temporalment
- Executar accions entre els comptes amb pitjada llarga
- Determinar el compte d'una acció fent una pitjada llarga
- Funcionalitat de traducció
- Pissarres amb Art
- Pissarres de vídeo

View File

@ -1 +1 @@
Fedilab és un client Android muntifuncional per a l'accés al Fedivers distribuït, permet el microblogging, compartir fotos i allotjament de videos.
Fedilab és un client Android muntifuncional per a l'accés al Fedivers distribuït, permet el microblogging, compartir fotos i allotjar videos.

View File

@ -0,0 +1,6 @@
Added:
- notify when a followed user posts (subscribe by clicking the bell icon on profiles).
Fixed:
- Crash when importing media due to photo editor
- Some crashes when doing actions

View File

@ -1 +1 @@
Fedilab is a multifunctional Android client to access the distributed Fediverse, consisting of micro blogging, photo sharing and video hosting.
Fedilab estas multfunkcia klienta de Androido aliri la distribuita Fediverse, konsistanta mikraj blogoj, foto dividanta kaj video gastigado.

View File

@ -1 +1 @@
Fedilab is a multifunctional Android client to access the distributed Fediverse, consisting of micro blogging, photo sharing and video hosting.
Fedilab é um cliente Android multifuncional para aceder o distribuído Fediverse, composto por microblogging, compartilha de fotos e hospedagem de vídeos.

View File

@ -1 +1 @@
Fedilab is a multifunctional Android client to access the distributed Fediverse, consisting of micro blogging, photo sharing and video hosting.
Fedilab, mikro blog, fotoğraf paylaşımı ve video barındırma içeren dağıtılmış Fediverse'e erişmek için çok işlevli bir Android istemcisidir.

View File

@ -0,0 +1,6 @@
Added:
- notify when a followed user posts (subscribe by clicking the bell icon on profiles).
Fixed:
- Crash when importing media due to photo editor
- Some crashes when doing actions