mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 10:46:53 -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>
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<title>Home</title>
|
||||
<title>REPLACE_menu_home</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1 style="display:none;">REPLACE_menu_home</h1>
|
||||
</body>
|
||||
</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_FILE_SEARCHED;
|
||||
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.UpdateUtils.reformatProviderUrl;
|
||||
|
||||
@ -393,8 +394,17 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
|
||||
documentParser = new DocumentParser(new DocumentParser.SectionsListener() {
|
||||
@Override
|
||||
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);
|
||||
tableDrawerAdapter.setTitle(title);
|
||||
if (title.contains("REPLACE_")) {
|
||||
tableDrawerAdapter.setTitle(getResourceString(getApplicationContext(), title));
|
||||
} else {
|
||||
tableDrawerAdapter.setTitle(title);
|
||||
}
|
||||
tableDrawerAdapter.setSections(documentSections);
|
||||
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.getWindowWidth;
|
||||
import static org.kiwix.kiwixmobile.utils.ImageUtils.getBitmapFromView;
|
||||
import static org.kiwix.kiwixmobile.utils.LanguageUtils.getResourceString;
|
||||
import static org.kiwix.kiwixmobile.utils.StyleUtils.fromHtml;
|
||||
|
||||
public class TabsAdapter extends RecyclerView.Adapter<TabsAdapter.ViewHolder> {
|
||||
@ -113,7 +114,11 @@ public class TabsAdapter extends RecyclerView.Adapter<TabsAdapter.ViewHolder> {
|
||||
if (webView.getParent() != null) {
|
||||
((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.content.setImageBitmap(getBitmapFromView(webView));
|
||||
holder.content.setOnClickListener(v -> {
|
||||
|
@ -107,10 +107,10 @@ public class LanguageUtils {
|
||||
return mLocaleMap.get(iso3.toUpperCase());
|
||||
}
|
||||
|
||||
public static Locale getCurrentLocale(Context context){
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
|
||||
public static Locale getCurrentLocale(Context context) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
return context.getResources().getConfiguration().getLocales().get(0);
|
||||
} else{
|
||||
} else {
|
||||
//noinspection deprecation
|
||||
return context.getResources().getConfiguration().locale;
|
||||
}
|
||||
@ -151,6 +151,20 @@ public class LanguageUtils {
|
||||
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
|
||||
private void getLanguageCodesFromAssets() {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user