1
0
Fork 0
mirror of https://github.com/gsantner/dandelion synced 2024-11-22 04:12:08 +01:00

Fixed lint issues (suppressed, where they cant be fixed)

Release 0.2.0 (Updated translation files)

Announcing 0.2.0-next

Added wipe-settings option

Merge branch 'master' of github.com:Diaspora-for-Android/diaspora-android

Merge branch 'master' into wipe-settings

Added ThemedAlertDialogBuilder and a corresponding method in ThemeHelper

Merge branch 'master' into wipe-settings

Reworked dialog
This commit is contained in:
vanitasvitae 2016-11-06 16:23:18 +01:00
parent a151d37a4e
commit dd4af48b8e
28 changed files with 240 additions and 29 deletions

View file

@ -1,3 +1,6 @@
# v0.2.0-next
# v0.2.0 # v0.2.0
- Added: Customizable Theme Colors! - Added: Customizable Theme Colors!
- Improved account setup with easy tor hidden service configuration - Improved account setup with easy tor hidden service configuration

View file

@ -30,7 +30,7 @@ android {
// Additional repositories // Additional repositories
repositories { repositories {
maven { maven {
url "http://dl.bintray.com/dasar/maven" //Color picker url "https://jitpack.io"
} }
} }
@ -52,7 +52,7 @@ dependencies {
compile 'com.jakewharton:butterknife:8.0.1' compile 'com.jakewharton:butterknife:8.0.1'
compile 'info.guardianproject.netcipher:netcipher:2.0.0-alpha1' compile 'info.guardianproject.netcipher:netcipher:2.0.0-alpha1'
compile 'info.guardianproject.netcipher:netcipher-webkit:2.0.0-alpha1' compile 'info.guardianproject.netcipher:netcipher-webkit:2.0.0-alpha1'
compile(group: 'uz.shift', name: 'colorpicker', version: '0.5', ext: 'aar') compile 'com.github.DASAR:ShiftColorPicker:v0.5'
apt 'com.jakewharton:butterknife-compiler:8.0.1' apt 'com.jakewharton:butterknife-compiler:8.0.1'
} }

View file

@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.github.dfa.diaspora_android"> xmlns:tools="http://schemas.android.com/tools"
package="com.github.dfa.diaspora_android"
tools:ignore="GoogleAppIndexingWarning">
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
@ -15,7 +17,8 @@
<provider <provider
android:name="com.github.dfa.diaspora_android.service.HashtagContentProvider" android:name="com.github.dfa.diaspora_android.service.HashtagContentProvider"
android:authorities="com.github.dfa.diaspora_android.mainactivity" /> android:authorities="com.github.dfa.diaspora_android.mainactivity"
android:exported="false"/>
<service <service
android:name="com.github.dfa.diaspora_android.service.FetchPodsService" android:name="com.github.dfa.diaspora_android.service.FetchPodsService"

View file

@ -30,7 +30,6 @@ import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.provider.MediaStore; import android.provider.MediaStore;
import android.support.design.widget.Snackbar; import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
@ -43,6 +42,7 @@ import android.webkit.WebView;
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.DiasporaUserProfile; import com.github.dfa.diaspora_android.data.DiasporaUserProfile;
import com.github.dfa.diaspora_android.ui.theme.ThemedAlertDialogBuilder;
import com.github.dfa.diaspora_android.util.AppLog; import com.github.dfa.diaspora_android.util.AppLog;
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper; import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
import com.github.dfa.diaspora_android.util.Helpers; import com.github.dfa.diaspora_android.util.Helpers;
@ -247,7 +247,7 @@ public class DiasporaStreamFragment extends BrowserFragment {
int hasWRITE_EXTERNAL_STORAGE = getActivity().checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE); int hasWRITE_EXTERNAL_STORAGE = getActivity().checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (hasWRITE_EXTERNAL_STORAGE != PackageManager.PERMISSION_GRANTED) { if (hasWRITE_EXTERNAL_STORAGE != PackageManager.PERMISSION_GRANTED) {
if (!shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { if (!shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
new AlertDialog.Builder(getContext()) new ThemedAlertDialogBuilder(getContext(), appSettings)
.setMessage(R.string.permissions_image) .setMessage(R.string.permissions_image)
.setNegativeButton(android.R.string.no, null) .setNegativeButton(android.R.string.no, null)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {

View file

@ -39,6 +39,7 @@ import android.support.v4.content.LocalBroadcastManager;
import android.support.v4.view.GravityCompat; import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout; import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.ActionMenuView; import android.support.v7.widget.ActionMenuView;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.view.KeyEvent; import android.view.KeyEvent;
@ -69,6 +70,7 @@ import com.github.dfa.diaspora_android.ui.PodSelectionDialog;
import com.github.dfa.diaspora_android.ui.theme.CustomFragment; import com.github.dfa.diaspora_android.ui.theme.CustomFragment;
import com.github.dfa.diaspora_android.ui.theme.ThemeHelper; import com.github.dfa.diaspora_android.ui.theme.ThemeHelper;
import com.github.dfa.diaspora_android.ui.theme.ThemedActivity; import com.github.dfa.diaspora_android.ui.theme.ThemedActivity;
import com.github.dfa.diaspora_android.ui.theme.ThemedAlertDialogBuilder;
import com.github.dfa.diaspora_android.util.AppLog; import com.github.dfa.diaspora_android.util.AppLog;
import com.github.dfa.diaspora_android.util.AppSettings; import com.github.dfa.diaspora_android.util.AppSettings;
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper; import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
@ -485,7 +487,7 @@ public class MainActivity extends ThemedActivity
return; return;
} }
//Catch split screen recreation //Catch split screen recreation
if (action.equals(Intent.ACTION_MAIN) && getTopFragment() != null) { if (action != null && action.equals(Intent.ACTION_MAIN) && getTopFragment() != null) {
return; return;
} }
@ -774,7 +776,7 @@ public class MainActivity extends ThemedActivity
} }
}; };
final android.support.v7.app.AlertDialog dialog = new android.support.v7.app.AlertDialog.Builder(this) final AlertDialog dialog = new ThemedAlertDialogBuilder(this, appSettings)
.setView(layout).setTitle(R.string.search_alert_title) .setView(layout).setTitle(R.string.search_alert_title)
.setCancelable(true) .setCancelable(true)
.setPositiveButton(R.string.search_alert_tag, clickListener) .setPositiveButton(R.string.search_alert_tag, clickListener)

View file

@ -1,7 +1,7 @@
package com.github.dfa.diaspora_android.activity; package com.github.dfa.diaspora_android.activity;
import android.annotation.SuppressLint;
import android.app.AlarmManager; import android.app.AlarmManager;
import android.app.AlertDialog;
import android.app.FragmentTransaction; import android.app.FragmentTransaction;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.Context; import android.content.Context;
@ -26,6 +26,7 @@ import com.github.dfa.diaspora_android.R;
import com.github.dfa.diaspora_android.ui.theme.ColorPalette; import com.github.dfa.diaspora_android.ui.theme.ColorPalette;
import com.github.dfa.diaspora_android.ui.theme.ThemeHelper; import com.github.dfa.diaspora_android.ui.theme.ThemeHelper;
import com.github.dfa.diaspora_android.ui.theme.ThemedActivity; import com.github.dfa.diaspora_android.ui.theme.ThemedActivity;
import com.github.dfa.diaspora_android.ui.theme.ThemedAlertDialogBuilder;
import com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceFragment; import com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceFragment;
import com.github.dfa.diaspora_android.util.AppLog; import com.github.dfa.diaspora_android.util.AppLog;
import com.github.dfa.diaspora_android.util.AppSettings; import com.github.dfa.diaspora_android.util.AppSettings;
@ -214,7 +215,7 @@ public class SettingsActivity extends ThemedActivity {
getActivity().finish(); getActivity().finish();
return true; return true;
} else if (settings.isKeyEqual(key, R.string.pref_key__change_account)) { } else if (settings.isKeyEqual(key, R.string.pref_key__change_account)) {
new AlertDialog.Builder(getActivity()) new ThemedAlertDialogBuilder(getActivity(), new AppSettings(getActivity().getApplication()))
.setTitle(getString(R.string.confirmation)) .setTitle(getString(R.string.confirmation))
.setMessage(getString(R.string.pref_warning__change_account)) .setMessage(getString(R.string.pref_warning__change_account))
.setNegativeButton(android.R.string.no, null) .setNegativeButton(android.R.string.no, null)
@ -284,6 +285,7 @@ public class SettingsActivity extends ThemedActivity {
* *
* @param type 1 -> Primary Color, 2 -> Accent Color * @param type 1 -> Primary Color, 2 -> Accent Color
*/ */
@SuppressLint("InflateParams")
public void showColorPickerDialog(final int type) { public void showColorPickerDialog(final int type) {
final AppSettings appSettings = ((App) getActivity().getApplication()).getSettings(); final AppSettings appSettings = ((App) getActivity().getApplication()).getSettings();
final Context context = getActivity(); final Context context = getActivity();
@ -291,7 +293,7 @@ public class SettingsActivity extends ThemedActivity {
//Inflate dialog layout //Inflate dialog layout
LayoutInflater inflater = getActivity().getLayoutInflater(); LayoutInflater inflater = getActivity().getLayoutInflater();
View dialogLayout = inflater.inflate(R.layout.ui__dialog__color_picker, null); View dialogLayout = inflater.inflate(R.layout.ui__dialog__color_picker, null);
final android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(context); final ThemedAlertDialogBuilder builder = new ThemedAlertDialogBuilder(context, appSettings);
builder.setView(dialogLayout); builder.setView(dialogLayout);
final FrameLayout titleBackground = (FrameLayout) dialogLayout.findViewById(R.id.color_picker_dialog__title_background); final FrameLayout titleBackground = (FrameLayout) dialogLayout.findViewById(R.id.color_picker_dialog__title_background);
@ -447,5 +449,39 @@ public class SettingsActivity extends ThemedActivity {
public String getFragmentTag() { public String getFragmentTag() {
return TAG; return TAG;
} }
@Override
public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) {
if (isAdded() && preference.hasKey()) {
AppSettings appSettings = ((App) getActivity().getApplication()).getSettings();
String key = preference.getKey();
if (appSettings.isKeyEqual(key, R.string.pref_key__wipe_settings)) {
showWipeSettingsDialog();
return true;
}
}
return super.onPreferenceTreeClick(screen, preference);
}
private void showWipeSettingsDialog() {
final AppSettings appSettings = new AppSettings(this.getActivity().getApplication());
ThemedAlertDialogBuilder builder = new ThemedAlertDialogBuilder(getActivity(), appSettings);
builder.setTitle(R.string.confirmation)
.setMessage(R.string.dialog_content__wipe_settings)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
appSettings.clearAppSettings();
appSettings.clearPodSettings();
Intent restartActivity = new Intent(getActivity(), MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(getActivity(), 12374, restartActivity, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager mgr = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, pendingIntent);
System.exit(0);
}
}).setNegativeButton(android.R.string.cancel, null)
.create().show();
}
} }
} }

View file

@ -88,7 +88,7 @@ public class BadgeDrawable extends Drawable {
canvas.drawCircle(centerX, centerY, (int) (radius + 6.5), badgeBackground); canvas.drawCircle(centerX, centerY, (int) (radius + 6.5), badgeBackground);
//canvas.drawRoundRect(radius, radius, radius, radius, 10, 10, badgeBackground); //canvas.drawRoundRect(radius, radius, radius, radius, 10, 10, badgeBackground);
} }
// Draw badge count text inside the circle. // Draw badge count message inside the circle.
badgeText.getTextBounds(badgeValue, 0, badgeValue.length(), textRect); badgeText.getTextBounds(badgeValue, 0, badgeValue.length(), textRect);
float textHeight = textRect.bottom - textRect.top; float textHeight = textRect.bottom - textRect.top;
float textY = centerY + (textHeight / 2f); float textY = centerY + (textHeight / 2f);

View file

@ -62,7 +62,7 @@ public class HtmlTextView extends TextView {
} }
/** /**
* Linkify, format markdown and escape the displayed text. * Linkify, format markdown and escape the displayed message.
*/ */
private void init() { private void init() {
formatHtmlAndCustomTags(); formatHtmlAndCustomTags();

View file

@ -1,6 +1,7 @@
package com.github.dfa.diaspora_android.ui; package com.github.dfa.diaspora_android.ui;
import android.annotation.SuppressLint;
import android.app.Dialog; import android.app.Dialog;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
@ -9,6 +10,7 @@ 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.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.EditText; import android.widget.EditText;
import android.widget.RadioGroup; import android.widget.RadioGroup;
@ -93,6 +95,12 @@ public class PodSelectionDialog extends ThemedAppCompatDialogFragment {
@BindView(R.id.podselection__dialog__text_protocol) @BindView(R.id.podselection__dialog__text_protocol)
TextView textProtocol; TextView textProtocol;
@BindView(R.id.podselection__dialog__btn_ok)
Button btnOk;
@BindView(R.id.podselection__dialog__btn_cancel)
Button btnCancel;
private PodSelectionDialogResultListener resultListener; private PodSelectionDialogResultListener resultListener;
private View root; private View root;
private DiasporaPod pod = new DiasporaPod(); private DiasporaPod pod = new DiasporaPod();
@ -100,6 +108,7 @@ public class PodSelectionDialog extends ThemedAppCompatDialogFragment {
@NonNull @NonNull
@Override @Override
@SuppressLint("InflateParams")
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();
@ -135,6 +144,8 @@ public class PodSelectionDialog extends ThemedAppCompatDialogFragment {
textProfile.setTextColor(ThemeHelper.getAccentColor()); textProfile.setTextColor(ThemeHelper.getAccentColor());
textProtocol.setTextColor(ThemeHelper.getAccentColor()); textProtocol.setTextColor(ThemeHelper.getAccentColor());
textTorPreset.setTextColor(ThemeHelper.getAccentColor()); textTorPreset.setTextColor(ThemeHelper.getAccentColor());
btnOk.setTextColor(ThemeHelper.getAccentColor());
btnCancel.setTextColor(ThemeHelper.getAccentColor());
ThemeHelper.updateEditTextColor(editPodAddress); ThemeHelper.updateEditTextColor(editPodAddress);
ThemeHelper.updateEditTextColor(editPodName); ThemeHelper.updateEditTextColor(editPodName);

View file

@ -19,6 +19,7 @@
*/ */
package com.github.dfa.diaspora_android.ui.theme; package com.github.dfa.diaspora_android.ui.theme;
import android.content.DialogInterface;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.PorterDuff; import android.graphics.PorterDuff;
@ -26,9 +27,11 @@ import android.os.Build;
import android.support.design.widget.TabLayout; import android.support.design.widget.TabLayout;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
import android.support.v4.widget.CompoundButtonCompat; import android.support.v4.widget.CompoundButtonCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.ActionMenuView; import android.support.v7.widget.ActionMenuView;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.view.View; import android.view.View;
import android.widget.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ProgressBar; import android.widget.ProgressBar;
@ -37,6 +40,7 @@ import android.widget.RadioGroup;
import android.widget.TextView; import android.widget.TextView;
import com.github.dfa.diaspora_android.R; import com.github.dfa.diaspora_android.R;
import com.github.dfa.diaspora_android.util.AppLog;
import com.github.dfa.diaspora_android.util.AppSettings; import com.github.dfa.diaspora_android.util.AppSettings;
/** /**
@ -153,4 +157,18 @@ public class ThemeHelper {
public static int getNeutralGreyColor() { public static int getNeutralGreyColor() {
return ContextCompat.getColor(getInstance().appSettings.getApplicationContext(), R.color.md_grey_800); return ContextCompat.getColor(getInstance().appSettings.getApplicationContext(), R.color.md_grey_800);
} }
public static void updateAlertDialogColor(AlertDialog alertDialog) {
if(alertDialog != null) {
for(int i : new int[]{
DialogInterface.BUTTON_POSITIVE,
DialogInterface.BUTTON_NEUTRAL,
DialogInterface.BUTTON_NEGATIVE}) {
Button b = alertDialog.getButton(i);
if(b != null) {
b.setTextColor(getAccentColor());
}
}
}
}
} }

View file

@ -22,6 +22,7 @@ import android.annotation.TargetApi;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.BitmapDrawable;
import android.os.Build; import android.os.Build;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import com.github.dfa.diaspora_android.App; import com.github.dfa.diaspora_android.App;

View file

@ -0,0 +1,45 @@
package com.github.dfa.diaspora_android.ui.theme;
import android.content.Context;
import android.content.DialogInterface;
import android.support.annotation.NonNull;
import android.support.annotation.StyleRes;
import android.support.v7.app.AlertDialog;
import com.github.dfa.diaspora_android.util.AppSettings;
/**
* AlertDialog Builder that colors its buttons
* Created by vanitas on 06.11.16.
*/
public class ThemedAlertDialogBuilder extends AlertDialog.Builder {
protected AppSettings appSettings;
public ThemedAlertDialogBuilder(@NonNull Context context, AppSettings appSettings) {
super(context);
this.appSettings = appSettings;
}
public ThemedAlertDialogBuilder(@NonNull Context context, @StyleRes int themeResId, AppSettings appSettings) {
super(context, themeResId);
this.appSettings = appSettings;
}
@Override
public AlertDialog create() {
final AlertDialog dialog = super.create();
dialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialogInterface) {
applyColors(dialog);
}
});
return dialog;
}
private void applyColors(AlertDialog alertDialog) {
ThemeHelper.getInstance(appSettings);
ThemeHelper.updateAlertDialogColor(alertDialog);
}
}

View file

@ -2,6 +2,7 @@ package com.github.dfa.diaspora_android.ui.theme;
import android.app.Dialog; import android.app.Dialog;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatDialogFragment; import android.support.v7.app.AppCompatDialogFragment;
import com.github.dfa.diaspora_android.util.AppSettings; import com.github.dfa.diaspora_android.util.AppSettings;
@ -13,6 +14,7 @@ import com.github.dfa.diaspora_android.util.AppSettings;
public abstract class ThemedAppCompatDialogFragment extends AppCompatDialogFragment { public abstract class ThemedAppCompatDialogFragment extends AppCompatDialogFragment {
@NonNull
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState); Dialog dialog = super.onCreateDialog(savedInstanceState);

View file

@ -50,15 +50,15 @@ public class AppSettings {
} }
public void clearPodSettings() { public void clearPodSettings() {
prefPod.edit().clear().apply(); prefPod.edit().clear().commit();
} }
public void clearAppSettings() { public void clearAppSettings() {
prefApp.edit().clear().apply(); prefApp.edit().clear().commit();
} }
public String getKey(int stringKeyRessourceId) { public String getKey(int stringKeyResourceId) {
return context.getString(stringKeyRessourceId); return context.getString(stringKeyResourceId);
} }
public boolean isKeyEqual(String key, int stringKeyRessourceId) { public boolean isKeyEqual(String key, int stringKeyRessourceId) {

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_drawer" android:id="@+id/nav_drawer"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="110dp" android:layout_height="110dp"
android:background="@color/colorPrimary"
android:gravity="bottom" android:gravity="bottom"
android:orientation="vertical" android:orientation="vertical"
android:theme="@style/ThemeOverlay.AppCompat.Dark"> android:theme="@style/ThemeOverlay.AppCompat.Dark">
@ -36,7 +36,8 @@
android:layout_marginEnd="@dimen/activity_horizontal_margin_half" android:layout_marginEnd="@dimen/activity_horizontal_margin_half"
android:layout_marginStart="@dimen/activity_horizontal_margin" android:layout_marginStart="@dimen/activity_horizontal_margin"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:src="@drawable/ic_launcher" /> android:src="@drawable/ic_launcher"
tools:ignore="ContentDescription" />
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"

View file

@ -11,6 +11,7 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="?android:attr/buttonBarStyle"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
@ -88,14 +89,14 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:text="http" /> android:text="@string/http" />
<RadioButton <RadioButton
android:id="@+id/podselection__dialog__radio_https" android:id="@+id/podselection__dialog__radio_https"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:text="https" /> android:text="@string/https" />
</RadioGroup> </RadioGroup>
<TextView <TextView
@ -127,6 +128,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
style="?android:attr/buttonBarButtonStyle"
android:text="@android:string/cancel" /> android:text="@android:string/cancel" />
<Button <Button
@ -134,6 +136,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
style="?android:attr/buttonBarButtonStyle"
android:text="@android:string/ok" /> android:text="@android:string/ok" />
</LinearLayout> </LinearLayout>

View file

@ -1,7 +1,8 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.MainActivity"> tools:context=".activity.MainActivity"
tools:ignore="AlwaysShowAction">
<item <item

View file

@ -1,7 +1,8 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.MainActivity"> tools:context=".activity.MainActivity"
tools:ignore="AlwaysShowAction">
<item <item
android:id="@+id/action_notifications" android:id="@+id/action_notifications"

View file

@ -1,7 +1,8 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.MainActivity"> tools:context=".activity.MainActivity"
tools:ignore="AlwaysShowAction">
<item <item
android:id="@+id/action_notifications" android:id="@+id/action_notifications"

View file

@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="AlwaysShowAction">
<item <item
android:icon="@drawable/ic_share_white_48px" android:icon="@drawable/ic_share_white_48px"

View file

@ -1,12 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<item <item
android:id="@+id/action_reload" android:id="@+id/action_reload"
android:icon="@drawable/ic_refresh_white_48px" android:icon="@drawable/ic_refresh_white_48px"
android:orderInCategory="1000" android:orderInCategory="1000"
android:title="@string/reload" android:title="@string/reload"
app:showAsAction="always" /> app:showAsAction="always" />
</menu> </menu>

View file

@ -2,6 +2,25 @@
<!--Generated by crowdin.com--> <!--Generated by crowdin.com-->
<resources> <resources>
<!-- License & help (large amount of text) --> <!-- License & help (large amount of text) -->
<string name="about_activity__title_about_app">Info</string>
<string name="about_activity__title_about_license">Licentie</string>
<string name="about_activity__title_debug_info">Foutopsporing</string>
<string name="fragment_debug__section_app">Applicatie</string>
<string name="fragment_debug__section_device">Toestel</string>
<string name="fragment_debug__section_pod">diaspora* Pod</string>
<string name="fragment_debug__section_log">Debug Logboek</string>
<string name="fragment_debug__section_log_spam">Debug Log (Verbose)</string>
<string name="fragment_debug__app_version">Versie: %1$s</string>
<string name="fragment_debug__package_name">Pakket-naam: %1$s</string>
<string name="fragment_debug__android_version">Android-versie: %1$s</string>
<string name="fragment_debug__device_name">Toestelnaam: %1$s</string>
<string name="fragment_debug__app_codename">Versienaam: %1$s</string>
<string name="fragment_debug__pod_profile_name">Pod Profielnaam: %1$s</string>
<string name="fragment_debug__pod_profile_url">Pod-domein: %1$s</string>
<string name="fragment_debug__toast_log_copied">Tekst naar klembord gekopieerd</string>
<string name="fragment_license__3rd_party_libs_title">Gebruikte bibliotheken van derden</string>
<!-- About (large amount of text) --> <!-- About (large amount of text) -->
<string name="fragment_about__about_content">
DiasporaForAndroid is uw behulpzame app voor het bladeren door het sociale netwerk van Diaspora. Het voegt functies toe zoals nuttige werkbalken en ondersteuning voor proxyservers zoals het Tor Network aan uw sociale ervaring. &lt; Br &gt;&lt; br &gt; Diaspora maakt gebruik van Markdown voor het opmaken van berichten. U vindt meer informatie bij &lt; br &gt; https://diasporafoundation.org/formatting &lt; br &gt;&lt; br &gt; DiasporaForAndroid is vrije software als in het is in vrijheid ontwikkeld en volgt de ideeën van het Diaspora-project &lt; Br &gt; kunt u de broncode op Github: &lt; br &gt; https://github.com/Diaspora-for-Android/diaspora-android &lt; br &gt;&lt; br &gt; wanneer u tegen eventuele problemen aanloopt of als u suggesties hebt, u onze bug tracker op de bovenstaande link kunt. Als alternatief kunt u uw vraag met de hashtag #DFAQ op Diaspora plaatsen. &lt; Br &gt;&lt; br &gt; deze app niet beschikbaar in uw taal? Check ons project op Crowdin.com en help mee met vertalen! &lt; br &gt; https://crowdin.com/project/diaspora-for-android &lt; br &gt;&lt; br &gt; voel je ook vrij om je vrienden vertellen over #DiasporaForAndroid!</string>
<!-- Lorem ipsum --> <!-- Lorem ipsum -->
</resources> </resources>

View file

@ -13,20 +13,42 @@
<!-- Visuals --> <!-- Visuals -->
<!-- Navigiation Slider --> <!-- Navigiation Slider -->
<string name="pref_title__sub_nav_slider">Navigatie Slider</string> <string name="pref_title__sub_nav_slider">Navigatie Slider</string>
<string name="pref_desc__sub_nav_slider">Bepalen zichtbaarheid van vermeldingen in de navigatie-lade</string>
<string name="pref_cat__visibility_nav_items">Item Zichtbaarheid</string> <string name="pref_cat__visibility_nav_items">Item Zichtbaarheid</string>
<!-- Themes --> <!-- Themes -->
<string name="pref_title__themes">Thema en kleuren</string>
<string name="pref_desc__themes">Bepalen welke kleuren worden gebruikt in de app</string>
<string name="pref_title__primary_color">Primaire kleur</string>
<string name="pref_desc__primary_color">Kleur van de werkbalken</string>
<string name="pref_title__accent_color">Accentkleur</string>
<string name="pref_desc__accent_color">Kleur van de voortgangsbalk</string>
<!-- Notifications dropdown --> <!-- Notifications dropdown -->
<string name="pref_title__extended_notifications">Uitgebreide meldingen</string>
<string name="pref_desc__extended_notifications">Uitbreiden van de bel van de meldingen met een dropdown menu dat kennisgeving Categorieën toont</string>
<!-- Font size --> <!-- Font size -->
<string name="pref_title__font_size">Lettergrootte</string> <string name="pref_title__font_size">Lettergrootte</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 -->
<string name="font_size_normal">Normaal</string>
<string name="font_size_large">Groot</string>
<string name="font_size_huge">Grootst</string>
<!-- Load images --> <!-- Load images -->
<string name="pref_title__load_images">Afbeeldingen laden</string> <string name="pref_title__load_images">Afbeeldingen laden</string>
<string name="pref_desc__load_images">Afbeelding laden uitschakelen om mobiele data te besparen</string> <string name="pref_desc__load_images">Afbeelding laden uitschakelen om mobiele data te besparen</string>
<!-- Proxy --> <!-- Proxy -->
<string name="pref_title__http_proxy_load_tor_preset">Tor Voorinstelling laden</string>
<string name="pref_desc__http_proxy_load_tor_preset">Laden van de proxy-instellingen voor HTTP-Proxy Tor (Orbot)</string>
<string name="pref_title__sub_proxy">Proxy</string>
<string name="pref_title__proxy_enabled">Proxy inschakelen</string> <string name="pref_title__proxy_enabled">Proxy inschakelen</string>
<string name="pref_desc__http_proxy_enabled">Proxy Diaspora-verkeer om firewalls te omzeilen. \nVereist mogelijk app herstart. Dit kan op sommige telefoons niet werken.</string>
<string name="pref_title__http_proxy_host">Host</string>
<string name="pref_title__http_proxy_port">Poort</string>
<string name="toast__proxy_disabled__restart_required">App moet opnieuw opstarten om het gebruik van de proxy uit te schakelen</string>
<string name="toast__proxy_orbot_preset_loaded">Orbot proxy-voorinstelling geladen</string>
<!-- Chrome custom tabs --> <!-- Chrome custom tabs -->
<string name="pref_desc__chrome_custom_tabs_enabled">Open externe links met Chrome aangepaste tabbladen. Chromium of Google Chrome moet worden geïnstalleerd voor deze functie. \nLET OP: Chrome aangepaste tabbladen maakt geen gebruik van geconfigureerde proxyservers!</string>
<!-- Diaspora Settings --> <!-- Diaspora Settings -->
<string name="pref_title__personal_settings">Persoonlijke instellingen</string> <string name="pref_title__personal_settings">Persoonlijke instellingen</string>
<string name="pref_desc__personal_settings">Open uw accountinstellingen van diaspora*</string>
<string name="pref_desc__manage_contacts">Uw lijst met contactpersonen beheren</string> <string name="pref_desc__manage_contacts">Uw lijst met contactpersonen beheren</string>
<string name="pref_title__manage_tags">Beheren van Hashtags</string> <string name="pref_title__manage_tags">Beheren van Hashtags</string>
<string name="pref_desc__manage_tags">Toevoegen en verwijderen van de hashtags die u volgt</string> <string name="pref_desc__manage_tags">Toevoegen en verwijderen van de hashtags die u volgt</string>

View file

@ -4,7 +4,7 @@
<!-- App - AppName specific --> <!-- App - AppName specific -->
<string name="shared_by_diaspora_android">*[gedeeld door #DiasporaForAndroid]*</string> <string name="shared_by_diaspora_android">*[gedeeld door #DiasporaForAndroid]*</string>
<!-- Application --> <!-- Application -->
<string name="reload">Opnieuw Laden</string> <string name="reload">Opnieuw laden</string>
<string name="new_notifications">Ongelezen bericht. Wilt u het lezen?</string> <string name="new_notifications">Ongelezen bericht. Wilt u het lezen?</string>
<!-- Common Words --> <!-- Common Words -->
<string name="settings">Instellingen</string> <string name="settings">Instellingen</string>
@ -19,11 +19,20 @@
<string name="mentions">Vermeldingen</string> <string name="mentions">Vermeldingen</string>
<string name="public_">Openbaar</string> <string name="public_">Openbaar</string>
<string name="search">Zoeken</string> <string name="search">Zoeken</string>
<string name="contacts">Contacten</string>
<!-- Notifications dropdown menu --> <!-- Notifications dropdown menu -->
<string name="notifications__all">Alle meldingen</string>
<string name="notifications__also_commented">Heeft ook gereageerd</string>
<string name="notifications__comment_on_post">Reactie op bericht</string>
<string name="notifications__liked">Leuk gevonden</string>
<string name="notifications__mentioned">Vermeldingen</string>
<string name="notifications__reshared">Opnieuw gedeeld</string>
<string name="notifications__started_sharing">Begonnen te delen</string>
<!-- Pod Activity --> <!-- Pod Activity -->
<string name="title_activity_pods">Selecteer Pod</string> <string name="title_activity_pods">Selecteer Pod</string>
<string name="filter_hint">Voer pod domein</string> <string name="filter_hint">Voer pod domein</string>
<string name="confirm_url">Bevestigen pod url</string> <string name="confirm_url">Bevestigen pod url</string>
<string name="search_for_pod">Zoek Pod&#8230;</string>
<string name="podlist_source_note">Opmerking: De podlijst is gevuld met beveiligde pods vermeld op https://podupti.me. U kunt in het bewerk veld elke pod invullen die niet in de lijst staat.</string> <string name="podlist_source_note">Opmerking: De podlijst is gevuld met beveiligde pods vermeld op https://podupti.me. U kunt in het bewerk veld elke pod invullen die niet in de lijst staat.</string>
<string name="valid_pod">Voer een geldige domeinnaam in</string> <string name="valid_pod">Voer een geldige domeinnaam in</string>
<string name="podlist_error">Fout: Kan niet de podlijst ophalen!</string> <string name="podlist_error">Fout: Kan niet de podlijst ophalen!</string>
@ -32,6 +41,8 @@
<string name="confirm_pod">Wilt u echt \nhttps://%1$s\n als uw Diaspora pod gebruiken?</string> <string name="confirm_pod">Wilt u echt \nhttps://%1$s\n als uw Diaspora pod gebruiken?</string>
<string name="confirm_exit">Wilt u afsluiten?</string> <string name="confirm_exit">Wilt u afsluiten?</string>
<!-- Drawer, Menu, Toolbar, ContextMenu --> <!-- Drawer, Menu, Toolbar, ContextMenu -->
<string name="nav_menu_more">Meer</string>
<string name="nav_help_license">Over | Help</string>
<string name="nav_followed_tags">Gevolgde Tags</string> <string name="nav_followed_tags">Gevolgde Tags</string>
<string name="nav_public_activities">Publieke activiteiten</string> <string name="nav_public_activities">Publieke activiteiten</string>
<string name="share__share_link_as_text">Link delen als tekst</string> <string name="share__share_link_as_text">Link delen als tekst</string>
@ -59,6 +70,13 @@
<string name="unable_to_load_image">Niet in staat om afbeelding te laden</string> <string name="unable_to_load_image">Niet in staat om afbeelding te laden</string>
<string name="all_tags">Alle tags</string> <string name="all_tags">Alle tags</string>
<!-- Permissions --> <!-- Permissions -->
<string name="permissions_screenshot">U moet machtegingen aan \"Access Storage Permission\" geven om screenshots op te slaan. Daarna moet u de app volledig afsluiten of de telefoon opnieuw opstarten. Als u geen toestemming aan opslag wil geven maar screenshot functie later wil gebruiken, kunt u de toestemming later geven. Open dan: systemsettings - apps - Diaspora. In de machtegings sectie kunt u machtegingen geven aan \"write storage permission\".</string>
<string name="permissions_image">U moet machtigingen aan \"Access Storage Permission\" geven om screenshots op te slaan. Daarna moet u de app volledig afsluiten of de telefoon opnieuw opstarten. Als u geen toestemming aan opslag wilt geven maar screenshot functie later wilt gebruiken, kunt u de toestemming later geven. Open dan: system settings - apps - Diaspora. In de machtigingssectie kunt u machtigingen geven aan \"write storage permission\".</string>
<string name="permission_denied">Toestemming geweigerd.</string> <string name="permission_denied">Toestemming geweigerd.</string>
<string name="permission_granted_try_again">Toestemming verleend. Probeer het opnieuw.</string> <string name="permission_granted_try_again">Toestemming verleend. Probeer het opnieuw.</string>
<string name="podselection__custom_pod">Aangepaste Pod</string>
<string name="pod_name">Naam van de Pod</string>
<string name="http_protocol">Protocol</string>
<string name="pod_address">Pod-adres</string>
<string name="missing_value">Ontbrekende waarde</string>
</resources> </resources>

View file

@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources xmlns:tools="http://schemas.android.com/tools"
tools:ignore="UnusedResources">
<color name="colorPrimary">@color/md_blue_650</color> <color name="colorPrimary">@color/md_blue_650</color>
<color name="colorPrimaryDark">@color/md_blue_750</color> <color name="colorPrimaryDark">@color/md_blue_750</color>
<color name="colorAccent">@color/md_deep_orange_650</color> <color name="colorAccent">@color/md_deep_orange_650</color>

View file

@ -61,6 +61,7 @@
<string name="pref_catkey__category_more" translatable="false">pref_catkey__category_more</string> <string name="pref_catkey__category_more" translatable="false">pref_catkey__category_more</string>
<string name="pref_key__logging_spam_enabled" translatable="false">pref_key__logging_spam_enabled</string> <string name="pref_key__logging_spam_enabled" translatable="false">pref_key__logging_spam_enabled</string>
<string name="pref_key__logging_enabled" translatable="false">pref_key__logging_enabled</string> <string name="pref_key__logging_enabled" translatable="false">pref_key__logging_enabled</string>
<string name="pref_key__wipe_settings" translatable="false">pref_key__wipe_settings</string>
<!-- Category Titles --> <!-- Category Titles -->
<string name="pref_cat__visuals">Appearance</string> <string name="pref_cat__visuals">Appearance</string>
@ -153,10 +154,15 @@
<!-- More --> <!-- More -->
<string name="pref_title__sub_logging" translatable="false">@string/about_activity__title_debug_info</string> <string name="pref_title__sub_logging" translatable="false">@string/about_activity__title_debug_info</string>
<string name="pref_desc__sub_logging" translatable="false">@string/fragment_debug__section_log</string> <string name="pref_desc__sub_logging" translatable="false">@string/fragment_debug__section_log</string>
<string name="pref_title__sub_miscelaneous">Miscellaneous</string>
<string name="pref_title__logging_enabled" translatable="false">@string/fragment_debug__section_log</string> <string name="pref_title__logging_enabled" translatable="false">@string/fragment_debug__section_log</string>
<string name="pref_title__logging_spam_enabled" translatable="false">@string/fragment_debug__section_log_spam</string> <string name="pref_title__logging_spam_enabled" translatable="false">@string/fragment_debug__section_log_spam</string>
<string name="pref_title__wipe_settings">Full Reset</string>
<string name="pref_desc__wipe_settings">Locally wipe all settings related to the app and log out from all accounts</string>
<string name="dialog_content__wipe_settings">This will reset all changed settings of the app to their default values and log you out from all pods. Your downloaded images will stay untouched. Are you sure you want to proceed?</string>
<!-- Recently added - Please move to right section--> <!-- Recently added - Please move to right section-->
<!-- Sorry --> <!-- Sorry -->

View file

@ -119,6 +119,8 @@
<string name="podselection__custom_pod">Custom Pod</string> <string name="podselection__custom_pod">Custom Pod</string>
<string name="pod_name">Pod name</string> <string name="pod_name">Pod name</string>
<string name="http_protocol">Protocol</string> <string name="http_protocol">Protocol</string>
<string name="http" translatable="false">http</string>
<string name="https" translatable="false">https</string>
<string name="pod_address">Pod address</string> <string name="pod_address">Pod address</string>
<string name="missing_value">Missing value</string> <string name="missing_value">Missing value</string>
</resources> </resources>

View file

@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Logging -->
<com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory <com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory
android:key="@string/pref_key__title__debugging" android:key="@string/pref_key__title__debugging"
android:title="@string/pref_title__sub_logging"> android:title="@string/pref_title__sub_logging">
@ -14,4 +16,16 @@
android:title="@string/pref_title__logging_spam_enabled" android:title="@string/pref_title__logging_spam_enabled"
android:dependency="@string/pref_key__logging_enabled"/> android:dependency="@string/pref_key__logging_enabled"/>
</com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory> </com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory>
<!-- Miscellaneous -->
<com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory
android:title="@string/pref_title__sub_miscelaneous">
<Preference
android:key="@string/pref_key__wipe_settings"
android:title="@string/pref_title__wipe_settings"
android:summary="@string/pref_desc__wipe_settings" />
</com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory>
</PreferenceScreen> </PreferenceScreen>