mirror of
https://codeberg.org/gitnex/GitNex.git
synced 2023-12-13 20:50:18 +01:00
Refactor: move translation to appearance
This commit is contained in:
parent
6fc664a418
commit
684a2f0776
|
@ -126,9 +126,6 @@
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.SettingsSecurityActivity"
|
android:name=".activities.SettingsSecurityActivity"
|
||||||
android:configChanges="orientation|screenSize|smallestScreenSize|density|screenLayout|keyboard|keyboardHidden|navigation"/>
|
android:configChanges="orientation|screenSize|smallestScreenSize|density|screenLayout|keyboard|keyboardHidden|navigation"/>
|
||||||
<activity
|
|
||||||
android:name=".activities.SettingsTranslationActivity"
|
|
||||||
android:configChanges="orientation|screenSize|smallestScreenSize|density|screenLayout|keyboard|keyboardHidden|navigation"/>
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.AddNewTeamMemberActivity"
|
android:name=".activities.AddNewTeamMemberActivity"
|
||||||
android:configChanges="orientation|screenSize|smallestScreenSize|density|screenLayout|keyboard|keyboardHidden|navigation"/>
|
android:configChanges="orientation|screenSize|smallestScreenSize|density|screenLayout|keyboard|keyboardHidden|navigation"/>
|
||||||
|
|
|
@ -11,6 +11,8 @@ import android.widget.TimePicker;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import androidx.fragment.app.DialogFragment;
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Locale;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.databinding.ActivitySettingsAppearanceBinding;
|
import org.mian.gitnex.databinding.ActivitySettingsAppearanceBinding;
|
||||||
import org.mian.gitnex.fragments.SettingsFragment;
|
import org.mian.gitnex.fragments.SettingsFragment;
|
||||||
|
@ -29,6 +31,7 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
||||||
private static String[] themeList;
|
private static String[] themeList;
|
||||||
private static int themeSelectedChoice = 0;
|
private static int themeSelectedChoice = 0;
|
||||||
private View.OnClickListener onClickListener;
|
private View.OnClickListener onClickListener;
|
||||||
|
private static int langSelectedChoice = 0;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
@ -39,6 +42,12 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
||||||
ActivitySettingsAppearanceBinding.inflate(getLayoutInflater());
|
ActivitySettingsAppearanceBinding.inflate(getLayoutInflater());
|
||||||
setContentView(activitySettingsAppearanceBinding.getRoot());
|
setContentView(activitySettingsAppearanceBinding.getRoot());
|
||||||
|
|
||||||
|
LinkedHashMap<String, String> lang = new LinkedHashMap<>();
|
||||||
|
lang.put("", getString(R.string.settingsLanguageSystem));
|
||||||
|
for (String langCode : getResources().getStringArray(R.array.languages)) {
|
||||||
|
lang.put(langCode, getLanguageDisplayName(langCode));
|
||||||
|
}
|
||||||
|
|
||||||
ImageView closeActivity = activitySettingsAppearanceBinding.close;
|
ImageView closeActivity = activitySettingsAppearanceBinding.close;
|
||||||
|
|
||||||
LinearLayout customFontFrame = activitySettingsAppearanceBinding.customFontFrame;
|
LinearLayout customFontFrame = activitySettingsAppearanceBinding.customFontFrame;
|
||||||
|
@ -196,6 +205,48 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
||||||
|
|
||||||
materialAlertDialogBuilder.create().show();
|
materialAlertDialogBuilder.create().show();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// language selector dialog
|
||||||
|
LinearLayout langFrame = activitySettingsAppearanceBinding.langFrame;
|
||||||
|
|
||||||
|
activitySettingsAppearanceBinding.helpTranslate.setOnClickListener(
|
||||||
|
v12 -> {
|
||||||
|
AppUtil.openUrlInBrowser(this, getResources().getString(R.string.crowdInLink));
|
||||||
|
});
|
||||||
|
|
||||||
|
langSelectedChoice = tinyDB.getInt("langId");
|
||||||
|
activitySettingsAppearanceBinding.tvLanguageSelected.setText(
|
||||||
|
lang.get(lang.keySet().toArray(new String[0])[langSelectedChoice]));
|
||||||
|
|
||||||
|
// language dialog
|
||||||
|
langFrame.setOnClickListener(
|
||||||
|
view -> {
|
||||||
|
MaterialAlertDialogBuilder materialAlertDialogBuilder =
|
||||||
|
new MaterialAlertDialogBuilder(ctx)
|
||||||
|
.setTitle(R.string.settingsLanguageSelectorDialogTitle)
|
||||||
|
.setCancelable(langSelectedChoice != -1)
|
||||||
|
.setNeutralButton(getString(R.string.cancelButton), null)
|
||||||
|
.setSingleChoiceItems(
|
||||||
|
lang.values().toArray(new String[0]),
|
||||||
|
langSelectedChoice,
|
||||||
|
(dialogInterface, i) -> {
|
||||||
|
String selectedLanguage =
|
||||||
|
lang.keySet().toArray(new String[0])[i];
|
||||||
|
tinyDB.putInt("langId", i);
|
||||||
|
tinyDB.putString("locale", selectedLanguage);
|
||||||
|
|
||||||
|
SettingsFragment.refreshParent = true;
|
||||||
|
this.overridePendingTransition(0, 0);
|
||||||
|
dialogInterface.dismiss();
|
||||||
|
Toasty.success(
|
||||||
|
appCtx,
|
||||||
|
getResources()
|
||||||
|
.getString(R.string.settingsSave));
|
||||||
|
this.recreate();
|
||||||
|
});
|
||||||
|
|
||||||
|
materialAlertDialogBuilder.create().show();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initCloseListener() {
|
private void initCloseListener() {
|
||||||
|
@ -255,4 +306,12 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
||||||
requireActivity().recreate();
|
requireActivity().recreate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getLanguageDisplayName(String langCode) {
|
||||||
|
Locale english = new Locale("en");
|
||||||
|
Locale translated = new Locale(langCode);
|
||||||
|
return String.format(
|
||||||
|
"%s (%s)",
|
||||||
|
translated.getDisplayName(translated), translated.getDisplayName(english));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,103 +0,0 @@
|
||||||
package org.mian.gitnex.activities;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.ImageView;
|
|
||||||
import android.widget.LinearLayout;
|
|
||||||
import android.widget.TextView;
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.Locale;
|
|
||||||
import org.mian.gitnex.R;
|
|
||||||
import org.mian.gitnex.databinding.ActivitySettingsTranslationBinding;
|
|
||||||
import org.mian.gitnex.fragments.SettingsFragment;
|
|
||||||
import org.mian.gitnex.helpers.AppUtil;
|
|
||||||
import org.mian.gitnex.helpers.Toasty;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author M M Arif
|
|
||||||
*/
|
|
||||||
public class SettingsTranslationActivity extends BaseActivity {
|
|
||||||
|
|
||||||
private static int langSelectedChoice = 0;
|
|
||||||
private View.OnClickListener onClickListener;
|
|
||||||
|
|
||||||
private static String getLanguageDisplayName(String langCode) {
|
|
||||||
Locale english = new Locale("en");
|
|
||||||
Locale translated = new Locale(langCode);
|
|
||||||
return String.format(
|
|
||||||
"%s (%s)",
|
|
||||||
translated.getDisplayName(translated), translated.getDisplayName(english));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
LinkedHashMap<String, String> langs = new LinkedHashMap<>();
|
|
||||||
langs.put("", getString(R.string.settingsLanguageSystem));
|
|
||||||
for (String langCode : getResources().getStringArray(R.array.languages)) {
|
|
||||||
langs.put(langCode, getLanguageDisplayName(langCode));
|
|
||||||
}
|
|
||||||
|
|
||||||
ActivitySettingsTranslationBinding activitySettingsTranslationBinding =
|
|
||||||
ActivitySettingsTranslationBinding.inflate(getLayoutInflater());
|
|
||||||
setContentView(activitySettingsTranslationBinding.getRoot());
|
|
||||||
|
|
||||||
ImageView closeActivity = activitySettingsTranslationBinding.close;
|
|
||||||
|
|
||||||
initCloseListener();
|
|
||||||
closeActivity.setOnClickListener(onClickListener);
|
|
||||||
|
|
||||||
final TextView tvLanguageSelected =
|
|
||||||
activitySettingsTranslationBinding.tvLanguageSelected; // setter for en, fr
|
|
||||||
TextView helpTranslate = activitySettingsTranslationBinding.helpTranslate;
|
|
||||||
|
|
||||||
LinearLayout langFrame = activitySettingsTranslationBinding.langFrame;
|
|
||||||
|
|
||||||
helpTranslate.setOnClickListener(
|
|
||||||
v12 -> {
|
|
||||||
AppUtil.openUrlInBrowser(this, getResources().getString(R.string.crowdInLink));
|
|
||||||
});
|
|
||||||
|
|
||||||
langSelectedChoice = tinyDB.getInt("langId");
|
|
||||||
tvLanguageSelected.setText(
|
|
||||||
langs.get(langs.keySet().toArray(new String[0])[langSelectedChoice]));
|
|
||||||
|
|
||||||
// language dialog
|
|
||||||
langFrame.setOnClickListener(
|
|
||||||
view -> {
|
|
||||||
MaterialAlertDialogBuilder materialAlertDialogBuilder =
|
|
||||||
new MaterialAlertDialogBuilder(ctx)
|
|
||||||
.setTitle(R.string.settingsLanguageSelectorDialogTitle)
|
|
||||||
.setCancelable(langSelectedChoice != -1)
|
|
||||||
.setNeutralButton(getString(R.string.cancelButton), null)
|
|
||||||
.setSingleChoiceItems(
|
|
||||||
langs.values().toArray(new String[0]),
|
|
||||||
langSelectedChoice,
|
|
||||||
(dialogInterface, i) -> {
|
|
||||||
String selectedLanguage =
|
|
||||||
langs.keySet().toArray(new String[0])[i];
|
|
||||||
tinyDB.putInt("langId", i);
|
|
||||||
tinyDB.putString("locale", selectedLanguage);
|
|
||||||
|
|
||||||
SettingsFragment.refreshParent = true;
|
|
||||||
this.overridePendingTransition(0, 0);
|
|
||||||
dialogInterface.dismiss();
|
|
||||||
Toasty.success(
|
|
||||||
appCtx,
|
|
||||||
getResources()
|
|
||||||
.getString(R.string.settingsSave));
|
|
||||||
this.recreate();
|
|
||||||
});
|
|
||||||
|
|
||||||
materialAlertDialogBuilder.create().show();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initCloseListener() {
|
|
||||||
|
|
||||||
onClickListener = view -> finish();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -19,7 +19,6 @@ import org.mian.gitnex.activities.SettingsAppearanceActivity;
|
||||||
import org.mian.gitnex.activities.SettingsGeneralActivity;
|
import org.mian.gitnex.activities.SettingsGeneralActivity;
|
||||||
import org.mian.gitnex.activities.SettingsNotificationsActivity;
|
import org.mian.gitnex.activities.SettingsNotificationsActivity;
|
||||||
import org.mian.gitnex.activities.SettingsSecurityActivity;
|
import org.mian.gitnex.activities.SettingsSecurityActivity;
|
||||||
import org.mian.gitnex.activities.SettingsTranslationActivity;
|
|
||||||
import org.mian.gitnex.databinding.CustomAboutDialogBinding;
|
import org.mian.gitnex.databinding.CustomAboutDialogBinding;
|
||||||
import org.mian.gitnex.databinding.FragmentSettingsBinding;
|
import org.mian.gitnex.databinding.FragmentSettingsBinding;
|
||||||
import org.mian.gitnex.helpers.AppUtil;
|
import org.mian.gitnex.helpers.AppUtil;
|
||||||
|
@ -70,9 +69,6 @@ public class SettingsFragment extends Fragment {
|
||||||
fragmentSettingsBinding.notificationsFrame.setOnClickListener(
|
fragmentSettingsBinding.notificationsFrame.setOnClickListener(
|
||||||
v1 -> startActivity(new Intent(ctx, SettingsNotificationsActivity.class)));
|
v1 -> startActivity(new Intent(ctx, SettingsNotificationsActivity.class)));
|
||||||
|
|
||||||
fragmentSettingsBinding.languagesFrame.setOnClickListener(
|
|
||||||
v1 -> startActivity(new Intent(ctx, SettingsTranslationActivity.class)));
|
|
||||||
|
|
||||||
fragmentSettingsBinding.rateAppFrame.setOnClickListener(rateApp -> rateThisApp());
|
fragmentSettingsBinding.rateAppFrame.setOnClickListener(rateApp -> rateThisApp());
|
||||||
|
|
||||||
fragmentSettingsBinding.aboutAppFrame.setOnClickListener(aboutApp -> showAboutAppDialog());
|
fragmentSettingsBinding.aboutAppFrame.setOnClickListener(aboutApp -> showAboutAppDialog());
|
||||||
|
|
|
@ -216,7 +216,7 @@
|
||||||
android:id="@+id/labelsInListFrame"
|
android:id="@+id/labelsInListFrame"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/dimen60dp"
|
android:layout_marginBottom="@dimen/dimen6dp"
|
||||||
android:background="?android:attr/selectableItemBackground"
|
android:background="?android:attr/selectableItemBackground"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:padding="@dimen/dimen16dp">
|
android:padding="@dimen/dimen16dp">
|
||||||
|
@ -268,4 +268,51 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/langFrame"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?android:attr/selectableItemBackground"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:padding="@dimen/dimen16dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tvLanguageHeaderSelector"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dimen24dp"
|
||||||
|
android:layout_marginEnd="@dimen/dimen24dp"
|
||||||
|
android:text="@string/settingsLanguageSelectorHeader"
|
||||||
|
android:textColor="?attr/primaryTextColor"
|
||||||
|
android:textSize="@dimen/dimen18sp"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tvLanguageSelected"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dimen24dp"
|
||||||
|
android:layout_marginEnd="@dimen/dimen24dp"
|
||||||
|
android:text="@string/settingsLanguageSelectedHeaderDefault"
|
||||||
|
android:textColor="?attr/selectedTextColor"
|
||||||
|
android:textSize="@dimen/dimen16sp"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/helpTranslate"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:autoLink="web"
|
||||||
|
android:background="?android:attr/selectableItemBackground"
|
||||||
|
android:paddingStart="@dimen/dimen40dp"
|
||||||
|
android:paddingTop="@dimen/dimen12dp"
|
||||||
|
android:paddingBottom="@dimen/dimen12dp"
|
||||||
|
android:paddingEnd="@dimen/dimen24dp"
|
||||||
|
android:layout_marginBottom="@dimen/dimen2dp"
|
||||||
|
android:text="@string/settingsHelpTranslateText"
|
||||||
|
android:textColor="@color/lightBlue"
|
||||||
|
android:textSize="@dimen/dimen16sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
@ -1,96 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:background="?attr/primaryBackgroundColor"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
|
||||||
android:id="@+id/appbar"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginBottom="@dimen/dimen10dp"
|
|
||||||
android:theme="@style/Widget.AppCompat.SearchView"
|
|
||||||
app:elevation="@dimen/dimen0dp">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
|
||||||
android:id="@+id/toolbar"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="?attr/primaryBackgroundColor">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/close"
|
|
||||||
android:layout_width="@dimen/dimen26dp"
|
|
||||||
android:layout_height="@dimen/dimen26dp"
|
|
||||||
android:layout_marginStart="@dimen/dimen16dp"
|
|
||||||
android:layout_marginEnd="@dimen/dimen16dp"
|
|
||||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
|
||||||
android:clickable="true"
|
|
||||||
android:contentDescription="@string/close"
|
|
||||||
android:focusable="true"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:src="@drawable/ic_close"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/toolbar_title"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_vertical"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/settingsLanguageHeaderText"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
|
||||||
android:textSize="@dimen/dimen20sp"/>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/langFrame"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="?android:attr/selectableItemBackground"
|
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:padding="@dimen/dimen16dp">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvLanguageHeaderSelector"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/dimen24dp"
|
|
||||||
android:layout_marginEnd="@dimen/dimen24dp"
|
|
||||||
android:text="@string/settingsLanguageSelectorHeader"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
|
||||||
android:textSize="@dimen/dimen18sp"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvLanguageSelected"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/dimen24dp"
|
|
||||||
android:layout_marginEnd="@dimen/dimen24dp"
|
|
||||||
android:text="@string/settingsLanguageSelectedHeaderDefault"
|
|
||||||
android:textColor="?attr/selectedTextColor"
|
|
||||||
android:textSize="@dimen/dimen16sp"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/helpTranslate"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:autoLink="web"
|
|
||||||
android:background="?android:attr/selectableItemBackground"
|
|
||||||
android:paddingStart="@dimen/dimen40dp"
|
|
||||||
android:paddingTop="@dimen/dimen16dp"
|
|
||||||
android:paddingEnd="@dimen/dimen24dp"
|
|
||||||
android:paddingBottom="@dimen/dimen16dp"
|
|
||||||
android:text="@string/settingsHelpTranslateText"
|
|
||||||
android:textColor="@color/lightBlue"
|
|
||||||
android:textSize="@dimen/dimen16sp"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
|
@ -293,61 +293,6 @@
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/languagesFrame"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginBottom="5dp"
|
|
||||||
android:background="?android:attr/selectableItemBackground"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:padding="15dp">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:contentDescription="@string/generalImgContentText"
|
|
||||||
app:srcCompat="@drawable/ic_flag"/>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="10dp"
|
|
||||||
android:layout_marginEnd="10dp"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvLanguages"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingStart="12dp"
|
|
||||||
android:paddingEnd="12dp"
|
|
||||||
android:text="@string/settingsLanguageHeaderText"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
|
||||||
android:textSize="18sp"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/languagesHintText"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_vertical"
|
|
||||||
android:paddingStart="12dp"
|
|
||||||
android:paddingEnd="12dp"
|
|
||||||
android:text="@string/languagesHintText"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
|
||||||
android:textSize="12sp"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:contentDescription="@string/generalImgContentText"
|
|
||||||
app:srcCompat="@drawable/ic_chevron_right"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/rateAppFrame"
|
android:id="@+id/rateAppFrame"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -622,7 +622,7 @@
|
||||||
<string name="resetCounterDialogMessage">Do you want to reset counter for repository %s?</string>
|
<string name="resetCounterDialogMessage">Do you want to reset counter for repository %s?</string>
|
||||||
<string name="resetCounterAllDialogMessage">This will reset all the counters for this account repositories.</string>
|
<string name="resetCounterAllDialogMessage">This will reset all the counters for this account repositories.</string>
|
||||||
|
|
||||||
<string name="appearanceHintText">Themes, fonts, badges</string>
|
<string name="appearanceHintText">Themes, fonts, badges, translation</string>
|
||||||
<string name="securityHintText">Biometric authentication, SSL certificates, cache</string>
|
<string name="securityHintText">Biometric authentication, SSL certificates, cache</string>
|
||||||
<string name="languagesHintText">Languages</string>
|
<string name="languagesHintText">Languages</string>
|
||||||
<string name="reportsHintText">Crash reports</string>
|
<string name="reportsHintText">Crash reports</string>
|
||||||
|
|
Loading…
Reference in a new issue