Merge pull request #1830 from yashk2000/feature/yashk2000/1829-rtl-support

Fix #1829 Improve RTL support
This commit is contained in:
Seán Mac Gillicuddy 2020-03-09 16:24:15 +00:00 committed by GitHub
commit 3c175913e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 147 additions and 190 deletions

View File

@ -8,7 +8,8 @@
<application
android:name=".KiwixApp"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round">
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true">
<activity
android:name=".splash.KiwixSplashActivity"
android:label="@string/app_name"

View File

@ -20,8 +20,6 @@ package org.kiwix.kiwixmobile.zim_manager.fileselect_view
import android.Manifest
import android.content.pm.PackageManager
import android.os.Build.VERSION
import android.os.Build.VERSION_CODES
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@ -157,8 +155,7 @@ class ZimFileSelectFragment : BaseFragment() {
if (ContextCompat.checkSelfPermission(
activity!!,
Manifest.permission.READ_EXTERNAL_STORAGE
) != PackageManager.PERMISSION_GRANTED &&
VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN
) != PackageManager.PERMISSION_GRANTED
) {
context.toast(R.string.request_storage)
requestPermissions(

View File

@ -15,18 +15,17 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginLeft="15dp"
android:background="@android:color/transparent"
android:paddingLeft="5dp"
android:paddingStart="5dp"
android:paddingTop="5dp"
android:paddingRight="5dp"
android:paddingEnd="5dp"
android:paddingBottom="1dp"
android:text="@string/your_device"
android:textSize="13sp"
android:textStyle="italic"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/app_bar" />
<TextView
@ -34,17 +33,16 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginLeft="15dp"
android:background="@android:color/transparent"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:paddingBottom="5dp"
android:textIsSelectable="true"
android:textSize="17sp"
android:textStyle="bold"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_view_your_device"
tools:hint="Device Name" />
@ -52,11 +50,11 @@
android:id="@+id/view_device_list_boundary"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:background="@color/accent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_view_device_name" />
<TextView
@ -69,8 +67,8 @@
android:text="@string/nearby_devices"
android:textSize="16sp"
app:fontFamily="monospace"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_device_list_boundary" />
<androidx.recyclerview.widget.RecyclerView
@ -79,8 +77,8 @@
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:visibility="invisible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_view_available_device"
app:layout_constraintVertical_bias="0.0" />
@ -92,8 +90,8 @@
android:background="@android:color/transparent"
android:gravity="center"
android:text="@string/no_devices_found"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_view_available_device" />
<ProgressBar
@ -104,21 +102,21 @@
android:background="@android:color/transparent"
android:indeterminate="true"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_view_available_device" />
<View
android:id="@+id/view_file_list_boundary"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="5dp"
android:layout_marginStart="5dp"
android:layout_marginTop="200dp"
android:layout_marginRight="5dp"
android:layout_marginEnd="5dp"
android:background="@color/accent"
app:layout_constraintBottom_toTopOf="@+id/text_view_files_for_transfer"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_view_available_device" />
<TextView
@ -132,8 +130,8 @@
android:textSize="16sp"
app:fontFamily="monospace"
app:layout_constraintBottom_toTopOf="@id/recycler_view_transfer_files"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_file_list_boundary" />
<androidx.recyclerview.widget.RecyclerView
@ -142,8 +140,8 @@
android:layout_height="0dp"
android:background="@android:color/transparent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_view_files_for_transfer" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -14,7 +14,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:text="@string/server_textview_default_message"
app:layout_constraintStart_toStartOf="parent"
@ -28,8 +27,8 @@
android:layout_marginBottom="8dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toTopOf="@+id/startServerButton"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/serverTextView" />
<Button

View File

@ -6,16 +6,16 @@
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:orientation="horizontal"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingStart="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin">
android:paddingEnd="@dimen/activity_horizontal_margin">
<ImageView
android:id="@+id/libraryDownloadFavicon"
android:layout_width="@dimen/favicon_width"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="@dimen/favicon_margin_right"
android:layout_marginEnd="@dimen/favicon_margin_right"
android:adjustViewBounds="true"
android:minHeight="?android:attr/listPreferredItemHeight"
android:scaleType="fitCenter"
@ -85,8 +85,8 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/stop_horizontal_margin"
android:layout_marginRight="@dimen/stop_horizontal_margin"
android:layout_marginStart="@dimen/stop_horizontal_margin"
android:layout_marginEnd="@dimen/stop_horizontal_margin"
android:layout_weight="0.5"
android:minWidth="@dimen/stop_min_width"
android:minHeight="@dimen/stop_min_height"

View File

@ -13,8 +13,8 @@
android:id="@+id/libraryBookFavicon"
android:layout_width="@dimen/favicon_width"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/favicon_margin_right"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginEnd="@dimen/favicon_margin_right"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher"
@ -28,7 +28,7 @@
style="@style/list_item_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/favicon_margin_right"
android:layout_marginStart="@dimen/favicon_margin_right"
android:layout_marginTop="@dimen/activity_horizontal_margin"
app:layout_constraintStart_toEndOf="@+id/libraryBookFavicon"
app:layout_constraintTop_toTopOf="parent"
@ -39,7 +39,7 @@
style="@style/list_item_body"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/libraryBookTitle"
app:layout_constraintTop_toBottomOf="@+id/libraryBookTitle"
@ -79,7 +79,7 @@
style="@style/list_item_body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/libraryBookSize"
tools:text="Date" />

View File

@ -12,15 +12,15 @@
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:gravity="center_vertical"
android:paddingLeft="5dp"
android:paddingStart="5dp"
android:paddingTop="1dp"
android:paddingRight="5dp"
android:paddingEnd="5dp"
android:paddingBottom="1dp"
android:textIsSelectable="true"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:hint="File name" />
@ -29,16 +29,15 @@
android:layout_width="wrap_content"
android:layout_height="0dp"
android:background="@android:color/transparent"
android:paddingLeft="5dp"
android:paddingStart="5dp"
android:paddingTop="1dp"
android:paddingEnd="5dp"
android:paddingRight="5dp"
android:paddingBottom="1dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toRightOf="@id/text_view_file_item_name"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toEndOf="@id/text_view_file_item_name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
@ -46,18 +45,16 @@
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:background="@android:color/transparent"
android:contentDescription="@string/status"
android:paddingLeft="5dp"
android:paddingStart="5dp"
android:paddingTop="1dp"
android:paddingEnd="5dp"
android:paddingRight="5dp"
android:paddingBottom="1dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toRightOf="@id/text_view_file_item_name"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toEndOf="@id/text_view_file_item_name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_baseline_wait_24px" />

View File

@ -4,9 +4,9 @@
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:orientation="horizontal"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingStart="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingEnd="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/dimen_medium_padding">
<TextView

View File

@ -13,9 +13,9 @@
android:layout_weight="3"
android:background="@android:color/transparent"
android:gravity="center_horizontal"
android:paddingLeft="5dp"
android:paddingStart="5dp"
android:paddingTop="1dp"
android:paddingRight="5dp"
android:paddingEnd="5dp"
android:paddingBottom="1dp"
android:textIsSelectable="false"
android:textSize="17sp"

View File

@ -20,7 +20,7 @@ import org.gradle.api.JavaVersion
object Config {
const val compileSdk = 28
const val minSdk = 15
const val minSdk = 17
const val targetSdk = 28
val javaVersion = JavaVersion.VERSION_1_8
}

View File

@ -138,9 +138,6 @@ public abstract class CoreApp extends Application {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
builder.detectFileUriExposure();
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
builder.detectLeakedRegistrationObjects();
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
builder.detectNonSdkApiUsage();
}
@ -148,6 +145,7 @@ public abstract class CoreApp extends Application {
.detectLeakedClosableObjects()
.detectLeakedSqlLiteObjects()
.penaltyLog()
.detectLeakedRegistrationObjects()
.build();
}

View File

@ -18,6 +18,7 @@
package org.kiwix.kiwixmobile.core.main;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
import android.text.Editable;
@ -53,7 +54,7 @@ public class CompatFindActionModeCallback
private ActionMode actionMode;
CompatFindActionModeCallback(Context context) {
@SuppressLint("InflateParams") CompatFindActionModeCallback(Context context) {
customView = LayoutInflater.from(context).inflate(R.layout.webview_search, null);
editText = customView.findViewById(R.id.edit);
editText.setOnClickListener(this);
@ -96,22 +97,18 @@ public class CompatFindActionModeCallback
"WebView supplied to CompatFindActionModeCallback cannot be null");
}
this.webView = webView;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
findResultsTextView.setVisibility(View.VISIBLE);
this.webView.setFindListener((activeMatchOrdinal, numberOfMatches, isDoneCounting) -> {
String result;
if (editText.getText().toString().isEmpty()) {
result = "";
} else if (numberOfMatches == 0) {
result = "0/0";
} else {
result = (activeMatchOrdinal + 1) + "/" + numberOfMatches;
}
findResultsTextView.setText(result);
});
} else {
findResultsTextView.setVisibility(View.GONE);
}
findResultsTextView.setVisibility(View.VISIBLE);
this.webView.setFindListener((activeMatchOrdinal, numberOfMatches, isDoneCounting) -> {
String result;
if (editText.getText().toString().isEmpty()) {
result = "";
} else if (numberOfMatches == 0) {
result = "0/0";
} else {
result = (activeMatchOrdinal + 1) + "/" + numberOfMatches;
}
findResultsTextView.setText(result);
});
}
// Move the highlight to the next match.
@ -134,17 +131,9 @@ public class CompatFindActionModeCallback
CharSequence find = editText.getText();
if (find == null || find.length() == 0) {
webView.clearMatches();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
webView.findAllAsync("");
} else {
webView.findAll("");
}
webView.findAllAsync("");
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
webView.findAllAsync(find.toString());
} else {
webView.findAll(find.toString());
}
webView.findAllAsync(find.toString());
// Enable word highlighting with reflection
try {

View File

@ -1107,13 +1107,11 @@ public abstract class CoreMainActivity extends BaseActivity
}
private void requestExternalStoragePermission() {
if (Build.VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
ActivityCompat.requestPermissions(
this,
new String[] { Manifest.permission.READ_EXTERNAL_STORAGE },
REQUEST_STORAGE_PERMISSION
);
}
ActivityCompat.requestPermissions(
this,
new String[] { Manifest.permission.READ_EXTERNAL_STORAGE },
REQUEST_STORAGE_PERMISSION
);
}
private void openAndSetInContainer(File file) {

View File

@ -108,9 +108,7 @@ public class KiwixTextToSpeech {
currentTTSTask = null;
} else if (tts.isSpeaking()) {
if (tts.stop() == TextToSpeech.SUCCESS) {
if (VERSION.SDK_INT >= VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
tts.setOnUtteranceProgressListener(null);
}
tts.setOnUtteranceProgressListener(null);
onSpeakingListener.onSpeakingEnded();
}
} else {
@ -172,9 +170,7 @@ public class KiwixTextToSpeech {
public void stop() {
if (tts.stop() == TextToSpeech.SUCCESS) {
currentTTSTask = null;
if (VERSION.SDK_INT >= VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
tts.setOnUtteranceProgressListener(null);
}
tts.setOnUtteranceProgressListener(null);
onSpeakingListener.onSpeakingEnded();
}
}
@ -260,9 +256,7 @@ public class KiwixTextToSpeech {
void pause() {
paused = true;
currentPiece.decrementAndGet();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
tts.setOnUtteranceProgressListener(null);
}
tts.setOnUtteranceProgressListener(null);
tts.stop();
}
@ -285,33 +279,31 @@ public class KiwixTextToSpeech {
stop();
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {
@Override
public void onStart(String s) {
tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {
@Override
public void onStart(String s) {
}
@Override
public void onDone(String s) {
int line = currentPiece.intValue();
if (line >= pieces.size() && !paused) {
stop();
return;
}
@Override
public void onDone(String s) {
int line = currentPiece.intValue();
tts.speak(pieces.get(line), TextToSpeech.QUEUE_ADD, params);
currentPiece.getAndIncrement();
}
if (line >= pieces.size() && !paused) {
stop();
return;
}
tts.speak(pieces.get(line), TextToSpeech.QUEUE_ADD, params);
currentPiece.getAndIncrement();
}
@Override
public void onError(String s) {
Log.e(TAG_KIWIX, "TextToSpeech Error: " + s);
//TODO: Surface to user
}
});
}
@Override
public void onError(String s) {
Log.e(TAG_KIWIX, "TextToSpeech Error: " + s);
//TODO: Surface to user
}
});
}
void stop() {

View File

@ -84,9 +84,7 @@ public class KiwixWebView extends VideoEnabledWebView {
settings.setDomStorageEnabled(true);
settings.setJavaScriptEnabled(true);
clearCache(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
settings.setAllowUniversalAccessFromFileURLs(true);
}
settings.setAllowUniversalAccessFromFileURLs(true);
setWebViewClient(webViewClient);
final KiwixWebChromeClient client =
new KiwixWebChromeClient(callback, nonVideoView, videoView, this);
@ -191,7 +189,7 @@ public class KiwixWebView extends VideoEnabledWebView {
return fileName.substring(fileName.indexOf("%3A") + 1);
}
@Override
@SuppressLint("StringFormatInvalid") @Override
public void handleMessage(Message msg) {
String url = (String) msg.getData().get("url");
String src = (String) msg.getData().get("src");

View File

@ -243,7 +243,7 @@ public abstract class CorePrefsFragment extends PreferenceFragment implements
@SuppressLint("SetJavaScriptEnabled")
public void openCredits() {
WebView view =
@SuppressLint("InflateParams") WebView view =
(WebView) LayoutInflater.from(getActivity()).inflate(R.layout.credits_webview, null);
view.loadUrl("file:///android_asset/credits.html");
if (nightModeConfig.isNightModeActive()) {

View File

@ -102,7 +102,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="100dp"
android:layout_marginLeft="100dp"
android:layout_marginTop="8dp"
android:checked="true"
android:text="@string/crash_checkbox_language"
@ -116,7 +115,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="100dp"
android:layout_marginLeft="100dp"
android:layout_marginTop="8dp"
android:checked="true"
android:text="@string/crash_checkbox_logs"
@ -130,7 +128,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="100dp"
android:layout_marginLeft="100dp"
android:layout_marginTop="8dp"
android:checked="true"
android:text="@string/crash_checkbox_exception"
@ -144,7 +141,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="100dp"
android:layout_marginLeft="100dp"
android:layout_marginTop="8dp"
android:checked="true"
android:text="@string/crash_checkbox_zimfiles"
@ -158,7 +154,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="100dp"
android:layout_marginLeft="100dp"
android:layout_marginTop="8dp"
android:checked="true"
android:text="@string/crash_checkbox_device"

View File

@ -44,7 +44,7 @@
android:layout_margin="@dimen/activity_horizontal_margin"
android:text="@string/download_books"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>

View File

@ -15,9 +15,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_toEndOf="@id/file_name"
android:layout_toRightOf="@id/file_name"
android:gravity="end"
android:padding="10dp"
android:textSize="18sp" />

View File

@ -11,8 +11,8 @@
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/app_bar">
<LinearLayout
@ -27,17 +27,17 @@
android:background="@android:color/transparent"
android:hint="@string/wiki_article_title"
android:maxLines="1"
android:paddingLeft="20dp"
android:paddingStart="20dp"
android:paddingTop="10dp"
android:paddingRight="20dp"
android:paddingEnd="20dp"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="15dp"
android:layout_marginStart="15dp"
android:layout_marginTop="5dp"
android:layout_marginRight="15dp"
android:layout_marginEnd="15dp"
android:layout_marginBottom="5dp"
android:background="#000000" />
@ -46,13 +46,13 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:gravity="top|left"
android:gravity="top|start"
android:hint="@string/note"
android:inputType="textMultiLine|textCapSentences|textAutoCorrect"
android:minLines="6"
android:paddingLeft="20dp"
android:paddingStart="20dp"
android:paddingTop="5dp"
android:paddingRight="20dp"
android:paddingEnd="20dp"
android:paddingBottom="10dp"
android:scrollbars="vertical"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />

View File

@ -26,7 +26,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingEnd="10dp"
android:paddingRight="10dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/horizontal_padding"
@ -92,7 +91,6 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/item_book_title"
app:layout_constraintTop_toBottomOf="@id/item_book_date"
@ -120,8 +118,8 @@
android:layout_height="0dp"
android:background="?android:attr/selectableItemBackground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="gone" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -26,7 +26,6 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:alpha="0.87"
android:paddingTop="8dp"
android:paddingBottom="8dp"

View File

@ -3,8 +3,8 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/kiwix_search_widget_layout_id_height"
android:layout_marginLeft="@dimen/kiwix_search_widget_margin"
android:layout_marginRight="@dimen/kiwix_search_widget_margin"
android:layout_marginStart="@dimen/kiwix_search_widget_margin"
android:layout_marginEnd="@dimen/kiwix_search_widget_margin"
android:background="@drawable/search_widget_background"
android:gravity="center_vertical"
android:orientation="horizontal"

View File

@ -13,14 +13,15 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/title_text_margin"
android:layout_marginRight="@dimen/title_text_margin"
android:layout_marginStart="@dimen/title_text_margin"
android:layout_marginEnd="@dimen/title_text_margin"
android:ellipsize="end"
android:fontFamily="sans-serif-light"
android:gravity="center_vertical"
android:maxLines="1"
android:minHeight="?listPreferredItemHeightSmall"
android:paddingLeft="@dimen/title_text_padding"
android:paddingStart="@dimen/title_text_padding"
android:paddingEnd="0dp"
android:textAppearance="?textAppearanceBody1"
tools:text="Some text" />

View File

@ -3,9 +3,9 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="@dimen/slider_dialog_horizontal_padding"
android:paddingStart="@dimen/slider_dialog_horizontal_padding"
android:paddingTop="@dimen/dimen_medium_padding"
android:paddingRight="@dimen/slider_dialog_horizontal_padding"
android:paddingEnd="@dimen/slider_dialog_horizontal_padding"
android:paddingBottom="@dimen/dimen_medium_padding">
<TextView

View File

@ -23,7 +23,7 @@
android:id="@+id/edit"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/webview_search_edit_text_margin_right"
android:layout_marginEnd="@dimen/webview_search_edit_text_margin_right"
android:layout_weight="1"
android:focusableInTouchMode="true"
android:hint="@string/search_label"
@ -41,7 +41,6 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:gravity="center"
android:textColor="@android:color/darker_gray"
tools:text="2/10" />

View File

@ -6,7 +6,8 @@
<application
android:name=".CustomApp"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round">
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true">
<activity
android:name=".splash.CustomSplashActivity"
android:label="@string/app_name"

View File

@ -12,8 +12,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:src="@mipmap/ic_launcher_foreground"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ViewAnimator
@ -23,8 +23,8 @@
android:inAnimation="@android:anim/fade_in"
android:outAnimation="@android:anim/fade_out"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cd_icon">
<include layout="@layout/layout_custom_download_required" />

View File

@ -13,8 +13,8 @@
android:gravity="center"
android:text="@string/complete"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias=".3" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -13,8 +13,8 @@
android:layout_height="wrap_content"
android:gravity="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias=".3" />
@ -24,7 +24,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="@string/retry"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cd_error_text" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -10,8 +10,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@id/cd_progress"
app:layout_constraintLeft_toLeftOf="@+id/cd_progress"
app:layout_constraintRight_toRightOf="@+id/cd_progress" />
app:layout_constraintStart_toStartOf="@+id/cd_progress"
app:layout_constraintEnd_toEndOf="@+id/cd_progress" />
<ProgressBar
android:id="@+id/cd_progress"
@ -20,8 +20,8 @@
android:layout_height="wrap_content"
android:max="100"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias=".3" />
@ -30,7 +30,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
app:layout_constraintBottom_toBottomOf="@id/cd_progress"
app:layout_constraintStart_toEndOf="@id/cd_progress"
app:layout_constraintTop_toTopOf="@id/cd_progress" />

View File

@ -13,8 +13,8 @@
android:gravity="center"
android:text="@string/invalid_installation"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias=".3" />
@ -24,8 +24,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="@string/download"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cd_text" />
</androidx.constraintlayout.widget.ConstraintLayout>