Merge pull request #88 from Diaspora-for-Android/podselection_proxy_dialog

Show Tor preset in Pod selection
This commit is contained in:
Gregor Santner 2016-10-22 19:56:59 +02:00 committed by GitHub
commit bff4ab2e97
13 changed files with 176 additions and 66 deletions

View File

@ -245,6 +245,8 @@
<data android:host="diaspora.softwarelivre.org" android:scheme="https" />
<data android:host="confetticake.club" android:scheme="https" />
<data android:host="diaspora.mike-jones.me.uk" android:scheme="https" />
<data android:host="diaspote.org" android:scheme="https" />
<data android:host="diaspora.zone" android:scheme="https" />
<!--@@@ PODLIST END-->
</intent-filter>

View File

@ -60,6 +60,7 @@ import android.widget.Toast;
import com.github.dfa.diaspora_android.App;
import com.github.dfa.diaspora_android.R;
import com.github.dfa.diaspora_android.data.AppSettings;
import com.github.dfa.diaspora_android.data.DiasporaPodList;
import com.github.dfa.diaspora_android.data.PodUserProfile;
import com.github.dfa.diaspora_android.fragment.BrowserFragment;
import com.github.dfa.diaspora_android.fragment.CustomFragment;
@ -71,6 +72,7 @@ import com.github.dfa.diaspora_android.receiver.OpenExternalLinkReceiver;
import com.github.dfa.diaspora_android.receiver.UpdateTitleReceiver;
import com.github.dfa.diaspora_android.ui.BadgeDrawable;
import com.github.dfa.diaspora_android.ui.IntellihideToolbarActivityListener;
import com.github.dfa.diaspora_android.ui.PodSelectionDialog;
import com.github.dfa.diaspora_android.util.AppLog;
import com.github.dfa.diaspora_android.util.CustomTabHelpers.CustomTabActivityHelper;
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
@ -85,7 +87,8 @@ public class MainActivity extends ThemedActivity
implements NavigationView.OnNavigationItemSelectedListener,
WebUserProfileChangedListener,
CustomTabActivityHelper.ConnectionCallback,
IntellihideToolbarActivityListener {
IntellihideToolbarActivityListener,
PodSelectionDialog.PodSelectionDialogResultListener{
public static final int REQUEST_CODE_ASK_PERMISSIONS = 123;
@ -370,6 +373,11 @@ public class MainActivity extends ThemedActivity
protected void updateNavigationViewEntryVisibilities() {
Menu navMenu = navView.getMenu();
// Initially show all items visible when logged in
navMenu.setGroupVisible(navMenu.findItem(R.id.nav_exit).getGroupId(), true);
// Hide by app settings
navMenu.findItem(R.id.nav_exit).setVisible(appSettings.isVisibleInNavExit());
navMenu.findItem(R.id.nav_activities).setVisible(appSettings.isVisibleInNavActivities());
navMenu.findItem(R.id.nav_aspects).setVisible(appSettings.isVisibleInNavAspects());
@ -380,8 +388,10 @@ public class MainActivity extends ThemedActivity
navMenu.findItem(R.id.nav_mentions).setVisible(appSettings.isVisibleInNavMentions());
navMenu.findItem(R.id.nav_profile).setVisible(appSettings.isVisibleInNavProfile());
navMenu.findItem(R.id.nav_public).setVisible(appSettings.isVisibleInNavPublic_activities());
navMenu.findItem(R.id.nav_stream).setVisible(true);
// Top bar
// Hide whole group (for logged in use) if no pod was selected
if (!appSettings.hasPod()) {
navMenu.setGroupVisible(navMenu.findItem(R.id.nav_exit).getGroupId(), false);
}
@ -921,6 +931,14 @@ public class MainActivity extends ThemedActivity
}
}
@Override
public void onPodSelectionDialogResult(DiasporaPodList.DiasporaPod pod, boolean accepted) {
if(accepted) {
invalidateOptionsMenu();
navheaderDescription.setText(pod.getName());
}
}
@Override
public void onCustomTabsDisconnected() {

View File

@ -275,8 +275,8 @@ public class AppSettings {
return getInt(prefApp, R.string.pref_key__http_proxy_port, 0);
} catch(Exception _anything){
//TODO: Backward Compatibility for older versions. REMOVE after App v1.7.0
setInt(prefApp, R.string.pref_key__http_proxy_port, 0);
return 0;
String str = getString(prefApp, R.string.pref_key__http_proxy_port, "0");
return Integer.parseInt(str);
}
}
@ -341,7 +341,7 @@ public class AppSettings {
}
public boolean isVisibleInNavProfile() {
return getBoolean(prefApp, R.string.pref_key__visibility_nav__profile, false);
return getBoolean(prefApp, R.string.pref_key__visibility_nav__profile, true);
}
public void setPrimaryColorSettings(int base, int shade) {

View File

@ -251,7 +251,7 @@ public class PodSelectionFragment extends CustomFragment implements SearchView.O
MainActivity mainActivity = (MainActivity) getActivity();
DiasporaUrlHelper urlHelper = new DiasporaUrlHelper(appSettings);
mainActivity.invalidateOptionsMenu();
mainActivity.onPodSelectionDialogResult(pod, accepted);
mainActivity.openDiasporaUrl(urlHelper.getSignInUrl());
}
}

View File

@ -31,6 +31,7 @@ import android.graphics.drawable.LayerDrawable;
import android.support.v4.content.ContextCompat;
import com.github.dfa.diaspora_android.R;
import com.github.dfa.diaspora_android.data.AppSettings;
public class BadgeDrawable extends Drawable {
// Source: http://mobikul.com/adding-badge-count-on-menu-items-like-cart-notification-etc/
@ -47,8 +48,9 @@ public class BadgeDrawable extends Drawable {
public BadgeDrawable(Context context) {
float textSize = context.getResources().getDimension(R.dimen.textsize_badge_count);
AppSettings settings = new AppSettings(context);
badgeBackground = new Paint();
badgeBackground.setColor(ContextCompat.getColor(context.getApplicationContext(), R.color.md_deep_orange_650));
badgeBackground.setColor(settings.getAccentColor());
badgeBackground.setAntiAlias(true);
badgeBackground.setStyle(Paint.Style.FILL);
badgeStroke = new Paint();

View File

@ -10,14 +10,18 @@ import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
import com.github.dfa.diaspora_android.App;
import com.github.dfa.diaspora_android.R;
import com.github.dfa.diaspora_android.data.AppSettings;
import com.github.dfa.diaspora_android.data.DiasporaPodList.DiasporaPod;
import com.github.dfa.diaspora_android.data.DiasporaPodList.DiasporaPod.DiasporaPodUrl;
import com.github.dfa.diaspora_android.util.ProxyHandler;
import org.json.JSONException;
@ -73,15 +77,23 @@ public class PodSelectionDialog extends AppCompatDialogFragment {
@BindView(R.id.podselection__dialog__spinner_profile)
Spinner spinnerProfile;
@BindView(R.id.podselection__dialog__check_torpreset)
CheckBox checkboxTorPreset;
@BindView(R.id.podselection__dialog__text_torpreset)
TextView textTorPreset;
private PodSelectionDialogResultListener resultListener;
private View root;
private DiasporaPod pod = new DiasporaPod();
private App app;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
app = (App) getActivity().getApplication();
// Bind UI
root = inflater.inflate(R.layout.podselection__dialog, null);
@ -101,7 +113,6 @@ public class PodSelectionDialog extends AppCompatDialogFragment {
spinnerProfile.setAdapter(spinnerAdapter);
}
builder.setView(root);
return builder.create();
}
@ -122,6 +133,18 @@ public class PodSelectionDialog extends AppCompatDialogFragment {
editPodAddress.setText(url1.getHost());
radiogrpProtocol.check(url1.getProtocol().equals("https")
? R.id.podselection__dialog__radio_https : R.id.podselection__dialog__radio_http);
// Tor
boolean isOnionUrl = url1.getHost().endsWith(".onion");
setUiVisible(textTorPreset, isOnionUrl);
setUiVisible(checkboxTorPreset, isOnionUrl);
checkboxTorPreset.setChecked(isOnionUrl);
}
public void setUiVisible(View view, boolean visible) {
if (view != null) {
view.setVisibility(visible ? View.VISIBLE : View.GONE);
}
}
@ -142,11 +165,22 @@ public class PodSelectionDialog extends AppCompatDialogFragment {
pod.setName(editPodName.getText().toString());
pod.getPodUrls().clear();
pod.getPodUrls().add(podUrl);
// Load Tor preset
if(pod.getPodUrl().getHost().endsWith(".onion") && checkboxTorPreset.isChecked()){
AppSettings settings = app.getSettings();
settings.setProxyHttpEnabled(true);
settings.setProxyWasEnabled(false);
settings.setProxyHttpPort(8118);
settings.setProxyHttpHost("127.0.0.1");
ProxyHandler.getInstance().updateProxySettings(getContext());
}
getDialog().dismiss();
publishResult(POSITIVE_PRESSED);
publishResult(true);
} else {
getDialog().cancel();
publishResult(POSITIVE_PRESSED);
publishResult(false);
}
}

View File

@ -95,6 +95,24 @@
android:text="https" />
</RadioGroup>
<TextView
android:id="@+id/podselection__dialog__text_torpreset"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_horizontal_margin_half"
android:text="@string/tor"
android:textAppearance="@style/AppTheme.TextAppearance.Caption"
android:visibility="gone" />
<CheckBox
android:id="@+id/podselection__dialog__check_torpreset"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/activity_horizontal_margin_half"
android:text="@string/pref_title__http_proxy_load_tor_preset"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:visibility="gone" />
<LinearLayout
android:layout_width="match_parent"

View File

@ -1,7 +1,7 @@
{
"pods": [
{
"active6": 11765,
"active6": 12251,
"score": 20,
"podUrls": [
{"host": "joindiaspora.com"},
@ -16,7 +16,7 @@
"id": 38077
},
{
"active6": 7167,
"active6": 7143,
"score": 20,
"podUrls": [{"host": "pod.geraspora.de"}],
"name": "Geraspora",
@ -24,7 +24,7 @@
"id": 24783
},
{
"active6": 3699,
"active6": 3726,
"score": 20,
"podUrls": [{"host": "diasp.org"}],
"name": "diasporg*",
@ -32,7 +32,7 @@
"id": 12688
},
{
"active6": 9955,
"active6": 10233,
"score": 20,
"podUrls": [{"host": "framasphere.org"}],
"name": "Framasphere",
@ -40,7 +40,7 @@
"id": 38776
},
{
"active6": 513,
"active6": 511,
"score": 20,
"podUrls": [{"host": "nerdpol.ch"}],
"name": "nerdpol.ch*",
@ -48,7 +48,7 @@
"id": 17343
},
{
"active6": 858,
"active6": 852,
"score": 20,
"podUrls": [{"host": "despora.de"}],
"name": "Despora*",
@ -56,7 +56,7 @@
"id": 6695
},
{
"active6": 611,
"active6": 590,
"score": 20,
"podUrls": [
{"host": "sechat.org"},
@ -87,7 +87,7 @@
"id": 25432
},
{
"active6": 176,
"active6": 182,
"score": 20,
"podUrls": [{"host": "berlinspora.de"}],
"name": "berlinspora.de",
@ -95,7 +95,7 @@
"id": 38327
},
{
"active6": 56,
"active6": 47,
"score": 20,
"podUrls": [{"host": "canfly.org"}],
"name": "canfly.org",
@ -119,7 +119,7 @@
"id": 46568
},
{
"active6": 69,
"active6": 71,
"score": 20,
"podUrls": [{"host": "d.consumium.org"}],
"name": "d.consumium.org",
@ -127,7 +127,7 @@
"id": 2107
},
{
"active6": 21,
"active6": 18,
"score": 20,
"podUrls": [{"host": "dia.manuelbichler.at"}],
"name": "dia.manuelbichler.at",
@ -159,7 +159,7 @@
"id": 13926
},
{
"active6": 142,
"active6": 136,
"score": 20,
"podUrls": [{"host": "diasp.ca"}],
"name": "diasp.ca",
@ -199,7 +199,7 @@
"id": 4343
},
{
"active6": 215,
"active6": 216,
"score": 20,
"podUrls": [{"host": "diasp.nl"}],
"name": "diasp.nl",
@ -207,7 +207,7 @@
"id": 33262
},
{
"active6": 208,
"active6": 194,
"score": 20,
"podUrls": [{"host": "diaspod.de"}],
"name": "diaspod.de",
@ -303,7 +303,7 @@
"id": 12684
},
{
"active6": 99,
"active6": 96,
"score": 20,
"podUrls": [{"host": "diaspora.hzsogood.net"}],
"name": "hzsogood.net",
@ -311,7 +311,7 @@
"id": 3651
},
{
"active6": 69,
"active6": 66,
"score": 20,
"podUrls": [{"host": "diaspora.kapper.net"}],
"name": "kapper.net",
@ -319,7 +319,7 @@
"id": 40765
},
{
"active6": 145,
"active6": 141,
"score": 20,
"podUrls": [{"host": "diaspora.koehn.com"}],
"name": "koehn.com",
@ -375,15 +375,15 @@
"id": 9863
},
{
"active6": 265,
"score": 20,
"active6": 261,
"score": 19,
"podUrls": [{"host": "diaspora.permutationsofchaos.com"}],
"name": "permutationsofchaos.com",
"mainLangs": [],
"id": 1513
},
{
"active6": 49,
"active6": 46,
"score": 20,
"podUrls": [{"host": "diaspora.pimpmypony.eu"}],
"name": "pimpmypony.eu",
@ -407,7 +407,7 @@
"id": 12139
},
{
"active6": 57,
"active6": 56,
"score": 20,
"podUrls": [{"host": "diaspora.poleni.com"}],
"name": "poleni.com",
@ -423,7 +423,7 @@
"id": 31397
},
{
"active6": 304,
"active6": 291,
"score": 20,
"podUrls": [{"host": "diaspora.punkbeer.me"}],
"name": "punkbeer.me",
@ -431,7 +431,7 @@
"id": 44751
},
{
"active6": 28,
"active6": 27,
"score": 20,
"podUrls": [{"host": "diaspora.raven-ip.com"}],
"name": "raven-ip.com",
@ -495,7 +495,7 @@
"id": 46672
},
{
"active6": 30,
"active6": 34,
"score": 20,
"podUrls": [{"host": "diaspora.u4u.org"}],
"name": "u4u.org",
@ -535,7 +535,7 @@
"id": 27412
},
{
"active6": 1203,
"active6": 1179,
"score": 20,
"podUrls": [{"host": "diasporabr.com.br"}],
"name": "diasporabr.com.br",
@ -543,7 +543,7 @@
"id": 18248
},
{
"active6": 376,
"active6": 367,
"score": 20,
"podUrls": [{"host": "diasporabrazil.org"}],
"name": "diasporabrazil.org",
@ -575,7 +575,7 @@
"id": 46740
},
{
"active6": 20,
"active6": 25,
"score": 20,
"podUrls": [{"host": "diasporing.ch"}],
"name": "Diasporing.ch",
@ -639,7 +639,7 @@
"id": 41690
},
{
"active6": 170,
"active6": 169,
"score": 20,
"podUrls": [{"host": "flokk.no"}],
"name": "flokk.no",
@ -671,7 +671,7 @@
"id": 13758
},
{
"active6": 74,
"active6": 73,
"score": 20,
"podUrls": [{"host": "idoru.pl"}],
"name": "idoru.pl",
@ -703,7 +703,7 @@
"id": 32786
},
{
"active6": 67,
"active6": 73,
"score": 20,
"podUrls": [{"host": "karmasphe.re"}],
"name": "karmasphe.re",
@ -727,7 +727,7 @@
"id": 32393
},
{
"active6": 144,
"active6": 141,
"score": 20,
"podUrls": [{"host": "liberdade.digital"}],
"name": "liberdade.digital",
@ -751,7 +751,7 @@
"id": 14862
},
{
"active6": 175,
"active6": 178,
"score": 20,
"podUrls": [{"host": "librenet.gr"}],
"name": "librenet.gr",
@ -775,7 +775,7 @@
"id": 16366
},
{
"active6": 639,
"active6": 622,
"score": 20,
"podUrls": [{"host": "mondiaspora.net"}],
"name": "mondiaspora.net",
@ -807,7 +807,7 @@
"id": 31558
},
{
"active6": 41,
"active6": 45,
"score": 20,
"podUrls": [{"host": "pe.spbstu.ru"}],
"name": "pe.spbstu.ru",
@ -871,7 +871,7 @@
"id": 887
},
{
"active6": 13,
"active6": 16,
"score": 20,
"podUrls": [{"host": "pod.dapor.net"}],
"name": "dapor.net",
@ -1015,7 +1015,7 @@
"id": 32151
},
{
"active6": 60,
"active6": 62,
"score": 20,
"podUrls": [{"host": "pod.liebeleu.de"}],
"name": "liebeleu.de",
@ -1031,7 +1031,7 @@
"id": 9248
},
{
"active6": 104,
"active6": 100,
"score": 20,
"podUrls": [{"host": "pod.nomorestars.com"}],
"name": "nomorestars.com",
@ -1039,7 +1039,7 @@
"id": 31958
},
{
"active6": 400,
"active6": 401,
"score": 20,
"podUrls": [{"host": "pod.orkz.net"}],
"name": "orkz.net",
@ -1063,7 +1063,7 @@
"id": 21338
},
{
"active6": 89,
"active6": 86,
"score": 20,
"podUrls": [{"host": "pod.psynet.su"}],
"name": "psynet.su",
@ -1135,7 +1135,7 @@
"id": 33181
},
{
"active6": 72,
"active6": 73,
"score": 20,
"podUrls": [{"host": "pod.tchncs.de"}],
"name": "tchncs.de",
@ -1167,7 +1167,7 @@
"id": 19139
},
{
"active6": 50,
"active6": 48,
"score": 20,
"podUrls": [{"host": "podbay.net"}],
"name": "podbay.net",
@ -1175,7 +1175,7 @@
"id": 16270
},
{
"active6": 371,
"active6": 386,
"score": 20,
"podUrls": [{"host": "poddery.com"}],
"name": "poddery.com",
@ -1191,7 +1191,7 @@
"id": 6398
},
{
"active6": 90,
"active6": 88,
"score": 20,
"podUrls": [{"host": "pubpod.alqualonde.org"}],
"name": "pubpod.alqualonde.org",
@ -1215,7 +1215,7 @@
"id": 41788
},
{
"active6": 104,
"active6": 102,
"score": 20,
"podUrls": [{"host": "ruhrspora.de"}],
"name": "ruhrspora.de",
@ -1223,7 +1223,7 @@
"id": 46198
},
{
"active6": 432,
"active6": 445,
"score": 20,
"podUrls": [{"host": "russiandiaspora.org"}],
"name": "russiandiaspora.org",
@ -1239,7 +1239,7 @@
"id": 39003
},
{
"active6": 3,
"active6": 4,
"score": 20,
"podUrls": [{"host": "social.acclaro.digital"}],
"name": "acclaro.digital",
@ -1247,7 +1247,7 @@
"id": 33853
},
{
"active6": 22,
"active6": 21,
"score": 20,
"podUrls": [{"host": "social.baldr.io"}],
"name": "baldr.io",
@ -1263,7 +1263,7 @@
"id": 37517
},
{
"active6": 87,
"active6": 84,
"score": 20,
"podUrls": [{"host": "social.elaon.de"}],
"name": "elaon.de",
@ -1295,7 +1295,7 @@
"id": 8983
},
{
"active6": 178,
"active6": 179,
"score": 20,
"podUrls": [{"host": "socializer.cc"}],
"name": "socializer.cc",
@ -1319,7 +1319,7 @@
"id": 29359
},
{
"active6": 44,
"active6": 41,
"score": 20,
"podUrls": [{"host": "sysad.org"}],
"name": "sysad.org",
@ -1335,7 +1335,7 @@
"id": 5276
},
{
"active6": 4141,
"active6": 4031,
"score": 20,
"podUrls": [{"host": "therealtalk.org"}],
"name": "therealtalk.org",
@ -1343,7 +1343,7 @@
"id": 26786
},
{
"active6": 43,
"active6": 42,
"score": 20,
"podUrls": [{"host": "thinkopen.net"}],
"name": "thinkopen.net",
@ -1351,7 +1351,7 @@
"id": 7366
},
{
"active6": 95,
"active6": 97,
"score": 20,
"podUrls": [{"host": "tippentappen.de"}],
"name": "tippentappen.de",
@ -1391,7 +1391,7 @@
"id": 35984
},
{
"active6": 37,
"active6": 36,
"score": 20,
"podUrls": [{"host": "www.diasporaix.de"}],
"name": "diasporaix.de",
@ -1415,7 +1415,7 @@
"id": 33510
},
{
"active6": 0,
"active6": 3,
"score": 20,
"podUrls": [{"host": "confetticake.club"}],
"name": "confetticake.club",
@ -1429,7 +1429,23 @@
"name": "mike-jones.me.uk",
"mainLangs": [],
"id": 8574
},
{
"active6": 45,
"score": 20,
"podUrls": [{"host": "diaspote.org"}],
"name": "diaspote.org",
"mainLangs": [],
"id": 33317
},
{
"active6": 5,
"score": 20,
"podUrls": [{"host": "diaspora.zone"}],
"name": "zone",
"mainLangs": [],
"id": 41976
}
],
"timestamp": 1476528109995
"timestamp": 1477156746197
}

View File

@ -17,11 +17,14 @@
<string name="pref_cat__visibility_nav_items">Sichtbarkeit der Einträge</string>
<!-- Themes -->
<string name="pref_title__themes">Farbschema</string>
<string name="pref_desc__themes">Einstellungen des Farbdesigns</string>
<string name="pref_title__primary_color">Primärfarbe</string>
<string name="pref_desc__primary_color">Färbung der Werkzeugleisten</string>
<string name="pref_title__accent_color">Akzentfarbe</string>
<string name="pref_desc__accent_color">Färbung der Details</string>
<!-- Notifications dropdown -->
<string name="pref_title__extended_notifications">Erweiterte Benachrichtigungen</string>
<string name="pref_desc__extended_notifications">Erweitere die Benachrichtigungsglocke um ein Ausklappmenü mit verschiedenen Benachrichtigungskategorien</string>
<!-- Font size -->
<string name="pref_title__font_size">Schriftgröße</string>
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->

View File

@ -20,6 +20,13 @@
<string name="public_">Öffentliche Aktivitäten</string>
<string name="search">Suchen</string>
<!-- Notifications dropdown menu -->
<string name="notifications__all">Alle Benachrichtigungen</string>
<string name="notifications__also_commented">Auch kommentiert</string>
<string name="notifications__comment_on_post">Einen Beitrag kommentiert</string>
<string name="notifications__liked">Gefällt</string>
<string name="notifications__mentioned">Erwähnt</string>
<string name="notifications__reshared">Weitergesagt</string>
<string name="notifications__started_sharing">Angefangen zu teilen</string>
<!-- Pod Activity -->
<string name="title_activity_pods">Pod auswählen</string>
<string name="filter_hint">Pod-Adresse eingeben</string>

View File

@ -23,6 +23,8 @@
<string name="pref_title__accent_color">Couleur secondaire</string>
<string name="pref_desc__accent_color">Couleur de la barre de progression</string>
<!-- Notifications dropdown -->
<string name="pref_title__extended_notifications">Notifications étendues</string>
<string name="pref_desc__extended_notifications">Étendre la cloche de notifications avec un menu déroulant qui affiche les catégories de notification</string>
<!-- Font size -->
<string name="pref_title__font_size">Taille de la police</string>
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->

View File

@ -21,6 +21,12 @@
<string name="search">Rechercher</string>
<!-- Notifications dropdown menu -->
<string name="notifications__all">Toutes les notifications</string>
<string name="notifications__also_commented">Aussi commenté</string>
<string name="notifications__comment_on_post">Commentaires sur posts</string>
<string name="notifications__liked">Aimés</string>
<string name="notifications__mentioned">Mentionnés</string>
<string name="notifications__reshared">Repartagés</string>
<string name="notifications__started_sharing">A commencé à partager</string>
<!-- Pod Activity -->
<string name="title_activity_pods">Selectionnez un Pod</string>
<string name="filter_hint">Entrez le nom de domaine du pod</string>
@ -67,6 +73,7 @@
<string name="permissions_image">Vous devez autoriser \"Modifier ou supprimer le contenu de la carte Sd \" pour sauvegarder/téléverser les images. Ensuite, vous devriez fermer l\'application ou redémarrer votre téléphone. Si vous n\'avez pas autorisé l\'accès à l\'espace de stockage mais que vous souhaitez sauvegarder des images ultérieurement, vous pouvez donner la permission plus tard. Veuillez ouvrir : Paramètres - applications - Diaspora. Dans la section Autorisations, vous pouvez autoriser \"Modifier ou supprimer le contenu de la carte Sd \".</string>
<string name="permission_denied">Permission refusée.</string>
<string name="permission_granted_try_again">Permission accordée. Veuillez réessayer.</string>
<string name="podselection__custom_pod">Pod personnalisé</string>
<string name="pod_name">Nom du Pod</string>
<string name="http_protocol">Protocole</string>
<string name="pod_address">Adresse du Pod</string>

View File

@ -28,6 +28,7 @@
<string name="mentions">Mentions</string>
<string name="public_">Public</string>
<string name="search">Search</string>
<string name="tor" translatable="false">Tor</string>
<!-- Notifications dropdown menu -->
<string name="notifications__all">All Notifications</string>