mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-09 15:27:55 -04:00
Modified home page drawer behaviour (#719)
* Fixed drawer tests in other languages * Restructured getResourceString
This commit is contained in:
parent
3e4b8be1fc
commit
d9e73de4ad
@ -2,6 +2,9 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8"/>
|
<meta charset="UTF-8"/>
|
||||||
<title>Home</title>
|
<title>REPLACE_menu_home</title>
|
||||||
</head>
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1 style="display:none;">REPLACE_menu_home</h1>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -140,6 +140,7 @@ import static org.kiwix.kiwixmobile.utils.Constants.TAG_CURRENT_POSITIONS;
|
|||||||
import static org.kiwix.kiwixmobile.utils.Constants.TAG_CURRENT_TAB;
|
import static org.kiwix.kiwixmobile.utils.Constants.TAG_CURRENT_TAB;
|
||||||
import static org.kiwix.kiwixmobile.utils.Constants.TAG_FILE_SEARCHED;
|
import static org.kiwix.kiwixmobile.utils.Constants.TAG_FILE_SEARCHED;
|
||||||
import static org.kiwix.kiwixmobile.utils.Constants.TAG_KIWIX;
|
import static org.kiwix.kiwixmobile.utils.Constants.TAG_KIWIX;
|
||||||
|
import static org.kiwix.kiwixmobile.utils.LanguageUtils.getResourceString;
|
||||||
import static org.kiwix.kiwixmobile.utils.StyleUtils.dialogStyle;
|
import static org.kiwix.kiwixmobile.utils.StyleUtils.dialogStyle;
|
||||||
import static org.kiwix.kiwixmobile.utils.UpdateUtils.reformatProviderUrl;
|
import static org.kiwix.kiwixmobile.utils.UpdateUtils.reformatProviderUrl;
|
||||||
|
|
||||||
@ -393,8 +394,17 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
|
|||||||
documentParser = new DocumentParser(new DocumentParser.SectionsListener() {
|
documentParser = new DocumentParser(new DocumentParser.SectionsListener() {
|
||||||
@Override
|
@Override
|
||||||
public void sectionsLoaded(String title, List<DocumentSection> sections) {
|
public void sectionsLoaded(String title, List<DocumentSection> sections) {
|
||||||
|
for (DocumentSection section : sections) {
|
||||||
|
if (section.title.contains("REPLACE_")) {
|
||||||
|
section.title = getResourceString(getApplicationContext(), section.title);
|
||||||
|
}
|
||||||
|
}
|
||||||
documentSections.addAll(sections);
|
documentSections.addAll(sections);
|
||||||
tableDrawerAdapter.setTitle(title);
|
if (title.contains("REPLACE_")) {
|
||||||
|
tableDrawerAdapter.setTitle(getResourceString(getApplicationContext(), title));
|
||||||
|
} else {
|
||||||
|
tableDrawerAdapter.setTitle(title);
|
||||||
|
}
|
||||||
tableDrawerAdapter.setSections(documentSections);
|
tableDrawerAdapter.setSections(documentSections);
|
||||||
tableDrawerAdapter.notifyDataSetChanged();
|
tableDrawerAdapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,7 @@ import static org.kiwix.kiwixmobile.utils.DimenUtils.getToolbarHeight;
|
|||||||
import static org.kiwix.kiwixmobile.utils.DimenUtils.getWindowHeight;
|
import static org.kiwix.kiwixmobile.utils.DimenUtils.getWindowHeight;
|
||||||
import static org.kiwix.kiwixmobile.utils.DimenUtils.getWindowWidth;
|
import static org.kiwix.kiwixmobile.utils.DimenUtils.getWindowWidth;
|
||||||
import static org.kiwix.kiwixmobile.utils.ImageUtils.getBitmapFromView;
|
import static org.kiwix.kiwixmobile.utils.ImageUtils.getBitmapFromView;
|
||||||
|
import static org.kiwix.kiwixmobile.utils.LanguageUtils.getResourceString;
|
||||||
import static org.kiwix.kiwixmobile.utils.StyleUtils.fromHtml;
|
import static org.kiwix.kiwixmobile.utils.StyleUtils.fromHtml;
|
||||||
|
|
||||||
public class TabsAdapter extends RecyclerView.Adapter<TabsAdapter.ViewHolder> {
|
public class TabsAdapter extends RecyclerView.Adapter<TabsAdapter.ViewHolder> {
|
||||||
@ -113,7 +114,11 @@ public class TabsAdapter extends RecyclerView.Adapter<TabsAdapter.ViewHolder> {
|
|||||||
if (webView.getParent() != null) {
|
if (webView.getParent() != null) {
|
||||||
((ViewGroup) webView.getParent()).removeView(webView);
|
((ViewGroup) webView.getParent()).removeView(webView);
|
||||||
}
|
}
|
||||||
holder.title.setText(fromHtml(webView.getTitle()));
|
String webViewTitle = fromHtml(webView.getTitle()).toString();
|
||||||
|
if (webViewTitle.contains("REPLACE_")) {
|
||||||
|
webViewTitle = getResourceString(holder.title.getContext().getApplicationContext(), webViewTitle);
|
||||||
|
}
|
||||||
|
holder.title.setText(webViewTitle);
|
||||||
holder.close.setOnClickListener(v -> listener.onCloseTab(v, holder.getAdapterPosition()));
|
holder.close.setOnClickListener(v -> listener.onCloseTab(v, holder.getAdapterPosition()));
|
||||||
holder.content.setImageBitmap(getBitmapFromView(webView));
|
holder.content.setImageBitmap(getBitmapFromView(webView));
|
||||||
holder.content.setOnClickListener(v -> {
|
holder.content.setOnClickListener(v -> {
|
||||||
|
@ -107,10 +107,10 @@ public class LanguageUtils {
|
|||||||
return mLocaleMap.get(iso3.toUpperCase());
|
return mLocaleMap.get(iso3.toUpperCase());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Locale getCurrentLocale(Context context){
|
public static Locale getCurrentLocale(Context context) {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
return context.getResources().getConfiguration().getLocales().get(0);
|
return context.getResources().getConfiguration().getLocales().get(0);
|
||||||
} else{
|
} else {
|
||||||
//noinspection deprecation
|
//noinspection deprecation
|
||||||
return context.getResources().getConfiguration().locale;
|
return context.getResources().getConfiguration().locale;
|
||||||
}
|
}
|
||||||
@ -151,6 +151,20 @@ public class LanguageUtils {
|
|||||||
return "fonts/DejaVuSansCondensed.ttf";
|
return "fonts/DejaVuSansCondensed.ttf";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getResourceString(Context appContext, String str) {
|
||||||
|
String resourceName = str;
|
||||||
|
if (resourceName.contains("REPLACE_")) {
|
||||||
|
resourceName = resourceName.replace("REPLACE_", "");
|
||||||
|
}
|
||||||
|
int resourceId = appContext.getResources()
|
||||||
|
.getIdentifier(
|
||||||
|
resourceName,
|
||||||
|
"string",
|
||||||
|
appContext.getPackageName()
|
||||||
|
);
|
||||||
|
return appContext.getResources().getString(resourceId);
|
||||||
|
}
|
||||||
|
|
||||||
// Read the language codes, that are supported in this app from the locales.txt file
|
// Read the language codes, that are supported in this app from the locales.txt file
|
||||||
private void getLanguageCodesFromAssets() {
|
private void getLanguageCodesFromAssets() {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user