1
0
Fork 0
mirror of https://github.com/gsantner/dandelion synced 2024-11-25 13:52:08 +01:00

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="diaspora.softwarelivre.org" android:scheme="https" />
<data android:host="confetticake.club" 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="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--> <!--@@@ PODLIST END-->
</intent-filter> </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.App;
import com.github.dfa.diaspora_android.R; import com.github.dfa.diaspora_android.R;
import com.github.dfa.diaspora_android.data.AppSettings; 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.data.PodUserProfile;
import com.github.dfa.diaspora_android.fragment.BrowserFragment; import com.github.dfa.diaspora_android.fragment.BrowserFragment;
import com.github.dfa.diaspora_android.fragment.CustomFragment; 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.receiver.UpdateTitleReceiver;
import com.github.dfa.diaspora_android.ui.BadgeDrawable; import com.github.dfa.diaspora_android.ui.BadgeDrawable;
import com.github.dfa.diaspora_android.ui.IntellihideToolbarActivityListener; 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.AppLog;
import com.github.dfa.diaspora_android.util.CustomTabHelpers.CustomTabActivityHelper; import com.github.dfa.diaspora_android.util.CustomTabHelpers.CustomTabActivityHelper;
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper; import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
@ -85,7 +87,8 @@ public class MainActivity extends ThemedActivity
implements NavigationView.OnNavigationItemSelectedListener, implements NavigationView.OnNavigationItemSelectedListener,
WebUserProfileChangedListener, WebUserProfileChangedListener,
CustomTabActivityHelper.ConnectionCallback, CustomTabActivityHelper.ConnectionCallback,
IntellihideToolbarActivityListener { IntellihideToolbarActivityListener,
PodSelectionDialog.PodSelectionDialogResultListener{
public static final int REQUEST_CODE_ASK_PERMISSIONS = 123; public static final int REQUEST_CODE_ASK_PERMISSIONS = 123;
@ -370,6 +373,11 @@ public class MainActivity extends ThemedActivity
protected void updateNavigationViewEntryVisibilities() { protected void updateNavigationViewEntryVisibilities() {
Menu navMenu = navView.getMenu(); 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_exit).setVisible(appSettings.isVisibleInNavExit());
navMenu.findItem(R.id.nav_activities).setVisible(appSettings.isVisibleInNavActivities()); navMenu.findItem(R.id.nav_activities).setVisible(appSettings.isVisibleInNavActivities());
navMenu.findItem(R.id.nav_aspects).setVisible(appSettings.isVisibleInNavAspects()); 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_mentions).setVisible(appSettings.isVisibleInNavMentions());
navMenu.findItem(R.id.nav_profile).setVisible(appSettings.isVisibleInNavProfile()); navMenu.findItem(R.id.nav_profile).setVisible(appSettings.isVisibleInNavProfile());
navMenu.findItem(R.id.nav_public).setVisible(appSettings.isVisibleInNavPublic_activities()); 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()) { if (!appSettings.hasPod()) {
navMenu.setGroupVisible(navMenu.findItem(R.id.nav_exit).getGroupId(), false); 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 @Override
public void onCustomTabsDisconnected() { public void onCustomTabsDisconnected() {

View file

@ -275,8 +275,8 @@ public class AppSettings {
return getInt(prefApp, R.string.pref_key__http_proxy_port, 0); return getInt(prefApp, R.string.pref_key__http_proxy_port, 0);
} catch(Exception _anything){ } catch(Exception _anything){
//TODO: Backward Compatibility for older versions. REMOVE after App v1.7.0 //TODO: Backward Compatibility for older versions. REMOVE after App v1.7.0
setInt(prefApp, R.string.pref_key__http_proxy_port, 0); String str = getString(prefApp, R.string.pref_key__http_proxy_port, "0");
return 0; return Integer.parseInt(str);
} }
} }
@ -341,7 +341,7 @@ public class AppSettings {
} }
public boolean isVisibleInNavProfile() { 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) { 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(); MainActivity mainActivity = (MainActivity) getActivity();
DiasporaUrlHelper urlHelper = new DiasporaUrlHelper(appSettings); DiasporaUrlHelper urlHelper = new DiasporaUrlHelper(appSettings);
mainActivity.invalidateOptionsMenu(); mainActivity.onPodSelectionDialogResult(pod, accepted);
mainActivity.openDiasporaUrl(urlHelper.getSignInUrl()); mainActivity.openDiasporaUrl(urlHelper.getSignInUrl());
} }
} }

View file

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

View file

@ -10,14 +10,18 @@ import android.text.TextUtils;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.EditText; import android.widget.EditText;
import android.widget.RadioGroup; import android.widget.RadioGroup;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
import com.github.dfa.diaspora_android.App;
import com.github.dfa.diaspora_android.R; 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;
import com.github.dfa.diaspora_android.data.DiasporaPodList.DiasporaPod.DiasporaPodUrl; import com.github.dfa.diaspora_android.data.DiasporaPodList.DiasporaPod.DiasporaPodUrl;
import com.github.dfa.diaspora_android.util.ProxyHandler;
import org.json.JSONException; import org.json.JSONException;
@ -73,15 +77,23 @@ public class PodSelectionDialog extends AppCompatDialogFragment {
@BindView(R.id.podselection__dialog__spinner_profile) @BindView(R.id.podselection__dialog__spinner_profile)
Spinner spinnerProfile; Spinner spinnerProfile;
@BindView(R.id.podselection__dialog__check_torpreset)
CheckBox checkboxTorPreset;
@BindView(R.id.podselection__dialog__text_torpreset)
TextView textTorPreset;
private PodSelectionDialogResultListener resultListener; private PodSelectionDialogResultListener resultListener;
private View root; private View root;
private DiasporaPod pod = new DiasporaPod(); private DiasporaPod pod = new DiasporaPod();
private App app;
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater(); LayoutInflater inflater = getActivity().getLayoutInflater();
app = (App) getActivity().getApplication();
// Bind UI // Bind UI
root = inflater.inflate(R.layout.podselection__dialog, null); root = inflater.inflate(R.layout.podselection__dialog, null);
@ -101,7 +113,6 @@ public class PodSelectionDialog extends AppCompatDialogFragment {
spinnerProfile.setAdapter(spinnerAdapter); spinnerProfile.setAdapter(spinnerAdapter);
} }
builder.setView(root); builder.setView(root);
return builder.create(); return builder.create();
} }
@ -122,6 +133,18 @@ public class PodSelectionDialog extends AppCompatDialogFragment {
editPodAddress.setText(url1.getHost()); editPodAddress.setText(url1.getHost());
radiogrpProtocol.check(url1.getProtocol().equals("https") radiogrpProtocol.check(url1.getProtocol().equals("https")
? R.id.podselection__dialog__radio_https : R.id.podselection__dialog__radio_http); ? 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.setName(editPodName.getText().toString());
pod.getPodUrls().clear(); pod.getPodUrls().clear();
pod.getPodUrls().add(podUrl); 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(); getDialog().dismiss();
publishResult(POSITIVE_PRESSED); publishResult(true);
} else { } else {
getDialog().cancel(); getDialog().cancel();
publishResult(POSITIVE_PRESSED); publishResult(false);
} }
} }

View file

@ -95,6 +95,24 @@
android:text="https" /> android:text="https" />
</RadioGroup> </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 <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"

View file

@ -1,7 +1,7 @@
{ {
"pods": [ "pods": [
{ {
"active6": 11765, "active6": 12251,
"score": 20, "score": 20,
"podUrls": [ "podUrls": [
{"host": "joindiaspora.com"}, {"host": "joindiaspora.com"},
@ -16,7 +16,7 @@
"id": 38077 "id": 38077
}, },
{ {
"active6": 7167, "active6": 7143,
"score": 20, "score": 20,
"podUrls": [{"host": "pod.geraspora.de"}], "podUrls": [{"host": "pod.geraspora.de"}],
"name": "Geraspora", "name": "Geraspora",
@ -24,7 +24,7 @@
"id": 24783 "id": 24783
}, },
{ {
"active6": 3699, "active6": 3726,
"score": 20, "score": 20,
"podUrls": [{"host": "diasp.org"}], "podUrls": [{"host": "diasp.org"}],
"name": "diasporg*", "name": "diasporg*",
@ -32,7 +32,7 @@
"id": 12688 "id": 12688
}, },
{ {
"active6": 9955, "active6": 10233,
"score": 20, "score": 20,
"podUrls": [{"host": "framasphere.org"}], "podUrls": [{"host": "framasphere.org"}],
"name": "Framasphere", "name": "Framasphere",
@ -40,7 +40,7 @@
"id": 38776 "id": 38776
}, },
{ {
"active6": 513, "active6": 511,
"score": 20, "score": 20,
"podUrls": [{"host": "nerdpol.ch"}], "podUrls": [{"host": "nerdpol.ch"}],
"name": "nerdpol.ch*", "name": "nerdpol.ch*",
@ -48,7 +48,7 @@
"id": 17343 "id": 17343
}, },
{ {
"active6": 858, "active6": 852,
"score": 20, "score": 20,
"podUrls": [{"host": "despora.de"}], "podUrls": [{"host": "despora.de"}],
"name": "Despora*", "name": "Despora*",
@ -56,7 +56,7 @@
"id": 6695 "id": 6695
}, },
{ {
"active6": 611, "active6": 590,
"score": 20, "score": 20,
"podUrls": [ "podUrls": [
{"host": "sechat.org"}, {"host": "sechat.org"},
@ -87,7 +87,7 @@
"id": 25432 "id": 25432
}, },
{ {
"active6": 176, "active6": 182,
"score": 20, "score": 20,
"podUrls": [{"host": "berlinspora.de"}], "podUrls": [{"host": "berlinspora.de"}],
"name": "berlinspora.de", "name": "berlinspora.de",
@ -95,7 +95,7 @@
"id": 38327 "id": 38327
}, },
{ {
"active6": 56, "active6": 47,
"score": 20, "score": 20,
"podUrls": [{"host": "canfly.org"}], "podUrls": [{"host": "canfly.org"}],
"name": "canfly.org", "name": "canfly.org",
@ -119,7 +119,7 @@
"id": 46568 "id": 46568
}, },
{ {
"active6": 69, "active6": 71,
"score": 20, "score": 20,
"podUrls": [{"host": "d.consumium.org"}], "podUrls": [{"host": "d.consumium.org"}],
"name": "d.consumium.org", "name": "d.consumium.org",
@ -127,7 +127,7 @@
"id": 2107 "id": 2107
}, },
{ {
"active6": 21, "active6": 18,
"score": 20, "score": 20,
"podUrls": [{"host": "dia.manuelbichler.at"}], "podUrls": [{"host": "dia.manuelbichler.at"}],
"name": "dia.manuelbichler.at", "name": "dia.manuelbichler.at",
@ -159,7 +159,7 @@
"id": 13926 "id": 13926
}, },
{ {
"active6": 142, "active6": 136,
"score": 20, "score": 20,
"podUrls": [{"host": "diasp.ca"}], "podUrls": [{"host": "diasp.ca"}],
"name": "diasp.ca", "name": "diasp.ca",
@ -199,7 +199,7 @@
"id": 4343 "id": 4343
}, },
{ {
"active6": 215, "active6": 216,
"score": 20, "score": 20,
"podUrls": [{"host": "diasp.nl"}], "podUrls": [{"host": "diasp.nl"}],
"name": "diasp.nl", "name": "diasp.nl",
@ -207,7 +207,7 @@
"id": 33262 "id": 33262
}, },
{ {
"active6": 208, "active6": 194,
"score": 20, "score": 20,
"podUrls": [{"host": "diaspod.de"}], "podUrls": [{"host": "diaspod.de"}],
"name": "diaspod.de", "name": "diaspod.de",
@ -303,7 +303,7 @@
"id": 12684 "id": 12684
}, },
{ {
"active6": 99, "active6": 96,
"score": 20, "score": 20,
"podUrls": [{"host": "diaspora.hzsogood.net"}], "podUrls": [{"host": "diaspora.hzsogood.net"}],
"name": "hzsogood.net", "name": "hzsogood.net",
@ -311,7 +311,7 @@
"id": 3651 "id": 3651
}, },
{ {
"active6": 69, "active6": 66,
"score": 20, "score": 20,
"podUrls": [{"host": "diaspora.kapper.net"}], "podUrls": [{"host": "diaspora.kapper.net"}],
"name": "kapper.net", "name": "kapper.net",
@ -319,7 +319,7 @@
"id": 40765 "id": 40765
}, },
{ {
"active6": 145, "active6": 141,
"score": 20, "score": 20,
"podUrls": [{"host": "diaspora.koehn.com"}], "podUrls": [{"host": "diaspora.koehn.com"}],
"name": "koehn.com", "name": "koehn.com",
@ -375,15 +375,15 @@
"id": 9863 "id": 9863
}, },
{ {
"active6": 265, "active6": 261,
"score": 20, "score": 19,
"podUrls": [{"host": "diaspora.permutationsofchaos.com"}], "podUrls": [{"host": "diaspora.permutationsofchaos.com"}],
"name": "permutationsofchaos.com", "name": "permutationsofchaos.com",
"mainLangs": [], "mainLangs": [],
"id": 1513 "id": 1513
}, },
{ {
"active6": 49, "active6": 46,
"score": 20, "score": 20,
"podUrls": [{"host": "diaspora.pimpmypony.eu"}], "podUrls": [{"host": "diaspora.pimpmypony.eu"}],
"name": "pimpmypony.eu", "name": "pimpmypony.eu",
@ -407,7 +407,7 @@
"id": 12139 "id": 12139
}, },
{ {
"active6": 57, "active6": 56,
"score": 20, "score": 20,
"podUrls": [{"host": "diaspora.poleni.com"}], "podUrls": [{"host": "diaspora.poleni.com"}],
"name": "poleni.com", "name": "poleni.com",
@ -423,7 +423,7 @@
"id": 31397 "id": 31397
}, },
{ {
"active6": 304, "active6": 291,
"score": 20, "score": 20,
"podUrls": [{"host": "diaspora.punkbeer.me"}], "podUrls": [{"host": "diaspora.punkbeer.me"}],
"name": "punkbeer.me", "name": "punkbeer.me",
@ -431,7 +431,7 @@
"id": 44751 "id": 44751
}, },
{ {
"active6": 28, "active6": 27,
"score": 20, "score": 20,
"podUrls": [{"host": "diaspora.raven-ip.com"}], "podUrls": [{"host": "diaspora.raven-ip.com"}],
"name": "raven-ip.com", "name": "raven-ip.com",
@ -495,7 +495,7 @@
"id": 46672 "id": 46672
}, },
{ {
"active6": 30, "active6": 34,
"score": 20, "score": 20,
"podUrls": [{"host": "diaspora.u4u.org"}], "podUrls": [{"host": "diaspora.u4u.org"}],
"name": "u4u.org", "name": "u4u.org",
@ -535,7 +535,7 @@
"id": 27412 "id": 27412
}, },
{ {
"active6": 1203, "active6": 1179,
"score": 20, "score": 20,
"podUrls": [{"host": "diasporabr.com.br"}], "podUrls": [{"host": "diasporabr.com.br"}],
"name": "diasporabr.com.br", "name": "diasporabr.com.br",
@ -543,7 +543,7 @@
"id": 18248 "id": 18248
}, },
{ {
"active6": 376, "active6": 367,
"score": 20, "score": 20,
"podUrls": [{"host": "diasporabrazil.org"}], "podUrls": [{"host": "diasporabrazil.org"}],
"name": "diasporabrazil.org", "name": "diasporabrazil.org",
@ -575,7 +575,7 @@
"id": 46740 "id": 46740
}, },
{ {
"active6": 20, "active6": 25,
"score": 20, "score": 20,
"podUrls": [{"host": "diasporing.ch"}], "podUrls": [{"host": "diasporing.ch"}],
"name": "Diasporing.ch", "name": "Diasporing.ch",
@ -639,7 +639,7 @@
"id": 41690 "id": 41690
}, },
{ {
"active6": 170, "active6": 169,
"score": 20, "score": 20,
"podUrls": [{"host": "flokk.no"}], "podUrls": [{"host": "flokk.no"}],
"name": "flokk.no", "name": "flokk.no",
@ -671,7 +671,7 @@
"id": 13758 "id": 13758
}, },
{ {
"active6": 74, "active6": 73,
"score": 20, "score": 20,
"podUrls": [{"host": "idoru.pl"}], "podUrls": [{"host": "idoru.pl"}],
"name": "idoru.pl", "name": "idoru.pl",
@ -703,7 +703,7 @@
"id": 32786 "id": 32786
}, },
{ {
"active6": 67, "active6": 73,
"score": 20, "score": 20,
"podUrls": [{"host": "karmasphe.re"}], "podUrls": [{"host": "karmasphe.re"}],
"name": "karmasphe.re", "name": "karmasphe.re",
@ -727,7 +727,7 @@
"id": 32393 "id": 32393
}, },
{ {
"active6": 144, "active6": 141,
"score": 20, "score": 20,
"podUrls": [{"host": "liberdade.digital"}], "podUrls": [{"host": "liberdade.digital"}],
"name": "liberdade.digital", "name": "liberdade.digital",
@ -751,7 +751,7 @@
"id": 14862 "id": 14862
}, },
{ {
"active6": 175, "active6": 178,
"score": 20, "score": 20,
"podUrls": [{"host": "librenet.gr"}], "podUrls": [{"host": "librenet.gr"}],
"name": "librenet.gr", "name": "librenet.gr",
@ -775,7 +775,7 @@
"id": 16366 "id": 16366
}, },
{ {
"active6": 639, "active6": 622,
"score": 20, "score": 20,
"podUrls": [{"host": "mondiaspora.net"}], "podUrls": [{"host": "mondiaspora.net"}],
"name": "mondiaspora.net", "name": "mondiaspora.net",
@ -807,7 +807,7 @@
"id": 31558 "id": 31558
}, },
{ {
"active6": 41, "active6": 45,
"score": 20, "score": 20,
"podUrls": [{"host": "pe.spbstu.ru"}], "podUrls": [{"host": "pe.spbstu.ru"}],
"name": "pe.spbstu.ru", "name": "pe.spbstu.ru",
@ -871,7 +871,7 @@
"id": 887 "id": 887
}, },
{ {
"active6": 13, "active6": 16,
"score": 20, "score": 20,
"podUrls": [{"host": "pod.dapor.net"}], "podUrls": [{"host": "pod.dapor.net"}],
"name": "dapor.net", "name": "dapor.net",
@ -1015,7 +1015,7 @@
"id": 32151 "id": 32151
}, },
{ {
"active6": 60, "active6": 62,
"score": 20, "score": 20,
"podUrls": [{"host": "pod.liebeleu.de"}], "podUrls": [{"host": "pod.liebeleu.de"}],
"name": "liebeleu.de", "name": "liebeleu.de",
@ -1031,7 +1031,7 @@
"id": 9248 "id": 9248
}, },
{ {
"active6": 104, "active6": 100,
"score": 20, "score": 20,
"podUrls": [{"host": "pod.nomorestars.com"}], "podUrls": [{"host": "pod.nomorestars.com"}],
"name": "nomorestars.com", "name": "nomorestars.com",
@ -1039,7 +1039,7 @@
"id": 31958 "id": 31958
}, },
{ {
"active6": 400, "active6": 401,
"score": 20, "score": 20,
"podUrls": [{"host": "pod.orkz.net"}], "podUrls": [{"host": "pod.orkz.net"}],
"name": "orkz.net", "name": "orkz.net",
@ -1063,7 +1063,7 @@
"id": 21338 "id": 21338
}, },
{ {
"active6": 89, "active6": 86,
"score": 20, "score": 20,
"podUrls": [{"host": "pod.psynet.su"}], "podUrls": [{"host": "pod.psynet.su"}],
"name": "psynet.su", "name": "psynet.su",
@ -1135,7 +1135,7 @@
"id": 33181 "id": 33181
}, },
{ {
"active6": 72, "active6": 73,
"score": 20, "score": 20,
"podUrls": [{"host": "pod.tchncs.de"}], "podUrls": [{"host": "pod.tchncs.de"}],
"name": "tchncs.de", "name": "tchncs.de",
@ -1167,7 +1167,7 @@
"id": 19139 "id": 19139
}, },
{ {
"active6": 50, "active6": 48,
"score": 20, "score": 20,
"podUrls": [{"host": "podbay.net"}], "podUrls": [{"host": "podbay.net"}],
"name": "podbay.net", "name": "podbay.net",
@ -1175,7 +1175,7 @@
"id": 16270 "id": 16270
}, },
{ {
"active6": 371, "active6": 386,
"score": 20, "score": 20,
"podUrls": [{"host": "poddery.com"}], "podUrls": [{"host": "poddery.com"}],
"name": "poddery.com", "name": "poddery.com",
@ -1191,7 +1191,7 @@
"id": 6398 "id": 6398
}, },
{ {
"active6": 90, "active6": 88,
"score": 20, "score": 20,
"podUrls": [{"host": "pubpod.alqualonde.org"}], "podUrls": [{"host": "pubpod.alqualonde.org"}],
"name": "pubpod.alqualonde.org", "name": "pubpod.alqualonde.org",
@ -1215,7 +1215,7 @@
"id": 41788 "id": 41788
}, },
{ {
"active6": 104, "active6": 102,
"score": 20, "score": 20,
"podUrls": [{"host": "ruhrspora.de"}], "podUrls": [{"host": "ruhrspora.de"}],
"name": "ruhrspora.de", "name": "ruhrspora.de",
@ -1223,7 +1223,7 @@
"id": 46198 "id": 46198
}, },
{ {
"active6": 432, "active6": 445,
"score": 20, "score": 20,
"podUrls": [{"host": "russiandiaspora.org"}], "podUrls": [{"host": "russiandiaspora.org"}],
"name": "russiandiaspora.org", "name": "russiandiaspora.org",
@ -1239,7 +1239,7 @@
"id": 39003 "id": 39003
}, },
{ {
"active6": 3, "active6": 4,
"score": 20, "score": 20,
"podUrls": [{"host": "social.acclaro.digital"}], "podUrls": [{"host": "social.acclaro.digital"}],
"name": "acclaro.digital", "name": "acclaro.digital",
@ -1247,7 +1247,7 @@
"id": 33853 "id": 33853
}, },
{ {
"active6": 22, "active6": 21,
"score": 20, "score": 20,
"podUrls": [{"host": "social.baldr.io"}], "podUrls": [{"host": "social.baldr.io"}],
"name": "baldr.io", "name": "baldr.io",
@ -1263,7 +1263,7 @@
"id": 37517 "id": 37517
}, },
{ {
"active6": 87, "active6": 84,
"score": 20, "score": 20,
"podUrls": [{"host": "social.elaon.de"}], "podUrls": [{"host": "social.elaon.de"}],
"name": "elaon.de", "name": "elaon.de",
@ -1295,7 +1295,7 @@
"id": 8983 "id": 8983
}, },
{ {
"active6": 178, "active6": 179,
"score": 20, "score": 20,
"podUrls": [{"host": "socializer.cc"}], "podUrls": [{"host": "socializer.cc"}],
"name": "socializer.cc", "name": "socializer.cc",
@ -1319,7 +1319,7 @@
"id": 29359 "id": 29359
}, },
{ {
"active6": 44, "active6": 41,
"score": 20, "score": 20,
"podUrls": [{"host": "sysad.org"}], "podUrls": [{"host": "sysad.org"}],
"name": "sysad.org", "name": "sysad.org",
@ -1335,7 +1335,7 @@
"id": 5276 "id": 5276
}, },
{ {
"active6": 4141, "active6": 4031,
"score": 20, "score": 20,
"podUrls": [{"host": "therealtalk.org"}], "podUrls": [{"host": "therealtalk.org"}],
"name": "therealtalk.org", "name": "therealtalk.org",
@ -1343,7 +1343,7 @@
"id": 26786 "id": 26786
}, },
{ {
"active6": 43, "active6": 42,
"score": 20, "score": 20,
"podUrls": [{"host": "thinkopen.net"}], "podUrls": [{"host": "thinkopen.net"}],
"name": "thinkopen.net", "name": "thinkopen.net",
@ -1351,7 +1351,7 @@
"id": 7366 "id": 7366
}, },
{ {
"active6": 95, "active6": 97,
"score": 20, "score": 20,
"podUrls": [{"host": "tippentappen.de"}], "podUrls": [{"host": "tippentappen.de"}],
"name": "tippentappen.de", "name": "tippentappen.de",
@ -1391,7 +1391,7 @@
"id": 35984 "id": 35984
}, },
{ {
"active6": 37, "active6": 36,
"score": 20, "score": 20,
"podUrls": [{"host": "www.diasporaix.de"}], "podUrls": [{"host": "www.diasporaix.de"}],
"name": "diasporaix.de", "name": "diasporaix.de",
@ -1415,7 +1415,7 @@
"id": 33510 "id": 33510
}, },
{ {
"active6": 0, "active6": 3,
"score": 20, "score": 20,
"podUrls": [{"host": "confetticake.club"}], "podUrls": [{"host": "confetticake.club"}],
"name": "confetticake.club", "name": "confetticake.club",
@ -1429,7 +1429,23 @@
"name": "mike-jones.me.uk", "name": "mike-jones.me.uk",
"mainLangs": [], "mainLangs": [],
"id": 8574 "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> <string name="pref_cat__visibility_nav_items">Sichtbarkeit der Einträge</string>
<!-- Themes --> <!-- Themes -->
<string name="pref_title__themes">Farbschema</string> <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_title__primary_color">Primärfarbe</string>
<string name="pref_desc__primary_color">Färbung der Werkzeugleisten</string> <string name="pref_desc__primary_color">Färbung der Werkzeugleisten</string>
<string name="pref_title__accent_color">Akzentfarbe</string> <string name="pref_title__accent_color">Akzentfarbe</string>
<string name="pref_desc__accent_color">Färbung der Details</string> <string name="pref_desc__accent_color">Färbung der Details</string>
<!-- Notifications dropdown --> <!-- 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 --> <!-- Font size -->
<string name="pref_title__font_size">Schriftgröße</string> <string name="pref_title__font_size">Schriftgröße</string>
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash --> <!-- 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="public_">Öffentliche Aktivitäten</string>
<string name="search">Suchen</string> <string name="search">Suchen</string>
<!-- Notifications dropdown menu --> <!-- 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 --> <!-- Pod Activity -->
<string name="title_activity_pods">Pod auswählen</string> <string name="title_activity_pods">Pod auswählen</string>
<string name="filter_hint">Pod-Adresse eingeben</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_title__accent_color">Couleur secondaire</string>
<string name="pref_desc__accent_color">Couleur de la barre de progression</string> <string name="pref_desc__accent_color">Couleur de la barre de progression</string>
<!-- Notifications dropdown --> <!-- 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 --> <!-- Font size -->
<string name="pref_title__font_size">Taille de la police</string> <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 --> <!-- 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> <string name="search">Rechercher</string>
<!-- Notifications dropdown menu --> <!-- Notifications dropdown menu -->
<string name="notifications__all">Toutes les notifications</string> <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 --> <!-- Pod Activity -->
<string name="title_activity_pods">Selectionnez un Pod</string> <string name="title_activity_pods">Selectionnez un Pod</string>
<string name="filter_hint">Entrez le nom de domaine du 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="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_denied">Permission refusée.</string>
<string name="permission_granted_try_again">Permission accordée. Veuillez réessayer.</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="pod_name">Nom du Pod</string>
<string name="http_protocol">Protocole</string> <string name="http_protocol">Protocole</string>
<string name="pod_address">Adresse du Pod</string> <string name="pod_address">Adresse du Pod</string>

View file

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