6.6.3 - Alpha - 关于应用与开发者页面增加水平布局适配

This commit is contained in:
SuperMonster003
2025-04-29 19:04:12 +08:00
parent 8903837b3b
commit d1f700269a
22 changed files with 745 additions and 355 deletions

View File

@@ -17,6 +17,7 @@
"README.md 中部分语言日期格式不正确的问题"
],
"improvement": [
"关于应用与开发者页面增加水平布局适配",
"打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_",
"版本更新信息支持多语言显示 (与当前显示语言同步)",
"使用异步加载方式一定程度提升文件管理器列表滑动流畅性"

View File

@@ -64,7 +64,7 @@ class App : MultiDexApplication() {
setUpLeakCanary()
AutoJs.initInstance(this)
GlobalKeyObserver.initIfNeeded()
GlobalKeyObserver.initIfNeeded(applicationContext)
setupDrawableImageLoader()
TimedTaskScheduler.init(this)
initDynamicBroadcastReceivers()

View File

@@ -63,6 +63,7 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -114,11 +115,15 @@ public class UpdateChecker {
mPendingDialog.show();
}
AtomicReference<String> errorBlob = new AtomicReference<>();
AtomicReference<String> errorRaw = new AtomicReference<>();
Observable<ResponseBody> obsBlobSafe = getStreamingApi()
.streamingUrl(URL_VERSION_PROPS_BLOB)
.subscribeOn(Schedulers.io())
.onErrorResumeNext(e -> {
Log.d(TAG, "Error from obsBlobSafe while parsing version.properties");
errorBlob.set(e.getMessage());
e.printStackTrace();
return Observable.empty();
});
@@ -128,13 +133,14 @@ public class UpdateChecker {
.subscribeOn(Schedulers.io())
.onErrorResumeNext(e -> {
Log.d(TAG, "Error from obsRawSafe while parsing version.properties");
errorRaw.set(e.getMessage());
e.printStackTrace();
return Observable.empty();
});
Observable.amb(Arrays.asList(obsBlobSafe, obsRawSafe))
.observeOn(AndroidSchedulers.mainThread())
.switchIfEmpty(Observable.error(new Exception("To trigger onError")))
.switchIfEmpty(Observable.error(new ObservableEmptyException()))
.subscribe(new SimpleObserver<>() {
@Override
public void onNext(@NotNull ResponseBody responseBody) {
@@ -188,9 +194,32 @@ public class UpdateChecker {
}
if (mPromptMode == PromptMode.DIALOG) {
new Dialog.Builder.Prompt(mContext, R.string.error_check_for_update, e.getMessage())
.positiveText(R.string.text_cancel)
.build().show();
if (!(e instanceof ObservableEmptyException)) {
new Dialog.Builder.Prompt(mContext, R.string.error_check_for_update, e.getMessage())
.positiveText(R.string.dialog_button_dismiss)
.build().show();
return;
}
if (errorBlob.get() != null || errorRaw.get() != null) {
StringBuilder message = new StringBuilder();
if (errorBlob.get() != null) {
message.append("Error message of blob:\n\n").append(errorBlob.get());
}
if (errorRaw.get() != null) {
if (message.length() > 0) {
message.append("\n\n");
}
message.append("Error message of raw:\n\n").append(errorRaw.get());
}
new Dialog.Builder.Prompt(mContext, R.string.error_check_for_update, message.toString())
.positiveText(R.string.dialog_button_dismiss)
.build().show();
} else {
new Dialog.Builder.Prompt(mContext, R.string.error_check_for_update,
R.string.error_failed_to_retrieve_version_properties_file_to_parse_version_information)
.positiveText(R.string.dialog_button_dismiss)
.build().show();
}
}
}
});
@@ -887,4 +916,8 @@ public class UpdateChecker {
}
private static class ObservableEmptyException extends RuntimeException {
/* Empty body. */
}
}

View File

@@ -22,7 +22,6 @@ import org.autojs.autojs6.BuildConfig
import org.autojs.autojs6.R
import org.autojs.autojs6.databinding.ActivityAboutBinding
import org.autojs.autojs6.databinding.ActivityAboutFunctionButtonsBinding
import org.autojs.autojs6.databinding.ActivityAboutItemsBinding
/**
* Created by Stardust on Feb 2, 2017.
@@ -31,7 +30,6 @@ import org.autojs.autojs6.databinding.ActivityAboutItemsBinding
open class AboutActivity : BaseActivity() {
private lateinit var activityBinding: ActivityAboutBinding
private lateinit var itemsBinding: ActivityAboutItemsBinding
private lateinit var functionsButtonsBinding: ActivityAboutFunctionButtonsBinding
override fun onCreate(savedInstanceState: Bundle?) {
@@ -40,7 +38,6 @@ open class AboutActivity : BaseActivity() {
setContentView(it.root)
it.version.text = BuildConfig.VERSION_NAME
it.since.text = BuildConfig.VERSION_DATE
itemsBinding = it.activityAboutItems
functionsButtonsBinding = it.activityAboutFunctionButtons
}
setToolbarAsBack(R.string.text_about)
@@ -48,14 +45,14 @@ open class AboutActivity : BaseActivity() {
}
private fun setupBindingListeners() {
itemsBinding.avatarOriginalDeveloper.setOnClickListener { toastForUnderDevelopment() }
itemsBinding.avatarDeveloper.setOnClickListener { toastForUnderDevelopment() }
activityBinding.avatarOriginalDeveloper.setOnClickListener { toastForUnderDevelopment() }
activityBinding.avatarDeveloper.setOnClickListener { toastForUnderDevelopment() }
itemsBinding.avatarOriginalDeveloperUserContents.setOnClickListener { toastForUnderDevelopment() }
itemsBinding.avatarDeveloperUserContents.setOnClickListener { toastForUnderDevelopment() }
activityBinding.avatarOriginalDeveloperUserContents.setOnClickListener { toastForUnderDevelopment() }
activityBinding.avatarDeveloperUserContents.setOnClickListener { toastForUnderDevelopment() }
itemsBinding.icon1stDeveloperIdentifier.setOnClickListener { toastForFirstDeveloperIdentifier() }
itemsBinding.icon2ndDeveloperIdentifier.setOnClickListener { toastForSecondDeveloperIdentifier() }
activityBinding.icon1stDeveloperIdentifier.setOnClickListener { toastForFirstDeveloperIdentifier() }
activityBinding.icon2ndDeveloperIdentifier.setOnClickListener { toastForSecondDeveloperIdentifier() }
activityBinding.iconAboutAppSvgView.setOnClickListener { showDeviceInfo() }
activityBinding.iconAboutAppSvgView.setOnLongClickListener { true.also { launchDeveloperOptions() } }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@@ -0,0 +1,321 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
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"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:theme="@style/AppTheme.AppBarOverlay"
android:fitsSystemWindows="true">
<org.autojs.autojs.theme.widget.ThemeColorToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ToolBarStyle"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:title="@string/text_about" />
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
<LinearLayout
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginHorizontal="16dp"
android:background="?selectableItemBackground"
android:baselineAligned="false"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:id="@+id/icon_1st_developer_identifier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="end"
android:orientation="horizontal">
<ImageView
android:layout_width="@dimen/icon_developer_identifier_image_side_length"
android:layout_height="@dimen/icon_developer_identifier_image_side_length"
android:padding="@dimen/icon_developer_identifier_image_padding"
android:layout_gravity="center"
android:src="@drawable/ic_looks_1_black_48dp"
app:tint="@color/tint_1st_developer_identifier"
android:contentDescription="icon_1st_developer_identifier" />
</LinearLayout>
<LinearLayout
android:id="@+id/avatar_original_developer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:orientation="horizontal">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="@dimen/about_item_avatar_side_length_land"
android:layout_height="@dimen/about_item_avatar_side_length_land"
android:src="@drawable/avatar_original_developer"
android:contentDescription="avatar_original_developer"
app:civ_border_width="@dimen/github_avatar_border_width"
app:civ_border_color="@color/github_avatar_border" />
</LinearLayout>
<LinearLayout
android:id="@+id/avatar_original_developer_user_contents"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:background="?selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="middle"
android:maxLines="1"
android:text="@string/original_developer_full_name"
android:textColor="@color/github_color_fg_default"
android:textSize="@dimen/github_font_size_full_name"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="middle"
android:maxLines="1"
android:text="@string/original_developer_nickname"
android:textColor="@color/github_color_fg_muted"
android:textSize="@dimen/github_font_size_nickname" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/icon_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical"
android:background="@android:color/transparent"
android:foreground="?selectableItemBackgroundBorderless">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.jaredrummler.android.widget.AnimatedSvgView
android:id="@+id/icon_about_app_svg_view"
android:layout_width="91dp"
android:layout_height="91dp"
android:layout_gravity="center"
android:layout_margin="10dp"
app:animatedSvgFillColors="@array/icon_about_app_svg_view_fill_colors"
app:animatedSvgGlyphStrings="@array/icon_about_app_svg_view_paths"
app:animatedSvgTraceColors="@array/icon_about_app_svg_view_trace_colors"
app:animatedSvgTraceResidueColors="@array/icon_about_app_svg_view_trace_residue_colors"
app:animatedSvgImageSizeX="576"
app:animatedSvgImageSizeY="576"
app:animatedSvgFillStart="200"
app:animatedSvgFillTime="200"
app:animatedSvgTraceTime="500"
app:animatedSvgTraceTimePerGlyph="500" />
<ImageView
android:id="@+id/icon_about_app"
android:visibility="invisible"
tools:visibility="visible"
android:layout_width="91dp"
android:layout_height="91dp"
android:layout_margin="10dp"
android:src="@drawable/autojs6_material"
tools:ignore="ContentDescription,ImageContrastCheck" />
</FrameLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="50dp"
android:orientation="vertical"
android:gravity="center">
<TextView
android:id="@+id/version"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:textColor="@color/about_app_version_info"
android:textSize="16sp"
android:text="@string/text_sample_string" />
<TextView
android:id="@+id/since"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:textColor="@color/about_app_version_info"
android:textSize="13sp"
android:text="@string/text_sample_string" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginHorizontal="16dp"
android:background="?selectableItemBackground"
android:baselineAligned="false"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:id="@+id/icon_2nd_developer_identifier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="end"
android:orientation="horizontal">
<ImageView
android:layout_width="@dimen/icon_developer_identifier_image_side_length"
android:layout_height="@dimen/icon_developer_identifier_image_side_length"
android:padding="@dimen/icon_developer_identifier_image_padding"
android:layout_gravity="center"
android:src="@drawable/ic_looks_2_black_48dp"
app:tint="@color/tint_2nd_developer_identifier"
android:contentDescription="icon_2nd_developer_identifier" />
</LinearLayout>
<LinearLayout
android:id="@+id/avatar_developer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:orientation="horizontal">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="@dimen/about_item_avatar_side_length_land"
android:layout_height="@dimen/about_item_avatar_side_length_land"
android:src="@drawable/avatar_developer"
android:contentDescription="avatar_developer"
app:civ_border_width="@dimen/github_avatar_border_width"
app:civ_border_color="@color/github_avatar_border" />
</LinearLayout>
<LinearLayout
android:id="@+id/avatar_developer_user_contents"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:background="?selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="middle"
android:maxLines="1"
android:text="@string/developer_full_name"
android:textColor="@color/github_color_fg_default"
android:textSize="@dimen/github_font_size_full_name"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="middle"
android:maxLines="1"
android:text="@string/developer_nickname"
android:textColor="@color/github_color_fg_muted"
android:textSize="@dimen/github_font_size_nickname" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="bottom"
android:gravity="center">
<include
android:id="@+id/activity_about_function_buttons"
layout="@layout/activity_about_function_buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<org.autojs.autojs.ui.widget.CopyrightTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="9dp"
tools:text="@string/text_copyright_sample"
android:textColor="@color/prefTextColorPrimary"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -1,53 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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"
xmlns:tools="http://schemas.android.com/tools">
<androidx.coordinatorlayout.widget.CoordinatorLayout
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"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:theme="@style/AppTheme.AppBarOverlay"
android:fitsSystemWindows="true">
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:theme="@style/AppTheme.AppBarOverlay"
android:fitsSystemWindows="true">
<org.autojs.autojs.theme.widget.ThemeColorToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ToolBarStyle"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:title="@string/text_about" />
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ToolBarStyle"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:title="@string/text_about" />
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="16dp"
android:orientation="vertical">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="16dp"
android:orientation="vertical">
<LinearLayout
android:id="@+id/icon_container"
android:layout_width="match_parent"
android:layout_height="210dp"
android:gravity="center"
android:orientation="vertical"
android:background="@android:color/transparent"
android:foreground="?selectableItemBackgroundBorderless">
android:id="@+id/icon_container"
android:layout_width="match_parent"
android:layout_height="210dp"
android:gravity="center"
android:orientation="vertical"
android:background="@android:color/transparent"
android:foreground="?selectableItemBackgroundBorderless">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.jaredrummler.android.widget.AnimatedSvgView
<com.jaredrummler.android.widget.AnimatedSvgView
android:id="@+id/icon_about_app_svg_view"
android:layout_width="91dp"
android:layout_height="91dp"
@@ -62,9 +63,9 @@
app:animatedSvgFillStart="200"
app:animatedSvgFillTime="200"
app:animatedSvgTraceTime="500"
app:animatedSvgTraceTimePerGlyph="500"/>
app:animatedSvgTraceTimePerGlyph="500" />
<ImageView
<ImageView
android:id="@+id/icon_about_app"
android:visibility="invisible"
android:layout_width="91dp"
@@ -76,66 +77,226 @@
</FrameLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="50dp"
android:orientation="vertical"
android:gravity="center">
<TextView
android:id="@+id/version"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:orientation="vertical"
android:gravity="center">
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:textColor="@color/about_app_version_info"
android:textSize="16sp"
android:text="@string/text_sample_string" />
<TextView
android:id="@+id/version"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:textColor="@color/about_app_version_info"
android:textSize="16sp"
android:text="@string/text_sample_string" />
<TextView
android:id="@+id/since"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:textColor="@color/about_app_version_info"
android:textSize="13sp"
android:text="@string/text_sample_string" />
android:id="@+id/since"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:textColor="@color/about_app_version_info"
android:textSize="13sp"
android:text="@string/text_sample_string" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/activity_about_items"
layout="@layout/activity_about_items"
android:layout_height="wrap_content"
android:layout_width="match_parent" />
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="16dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_height="62dp"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="12dp"
android:background="?selectableItemBackground"
android:gravity="center_vertical"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:id="@+id/avatar_original_developer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="?selectableItemBackground"
android:gravity="center"
android:focusable="true"
android:clickable="true">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="@dimen/about_item_avatar_side_length"
android:layout_height="@dimen/about_item_avatar_side_length"
android:src="@drawable/avatar_original_developer"
android:contentDescription="avatar_original_developer"
app:civ_border_width="@dimen/github_avatar_border_width"
app:civ_border_color="@color/github_avatar_border" />
</LinearLayout>
<LinearLayout
android:id="@+id/avatar_original_developer_user_contents"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="@dimen/about_item_avatar_side_length"
android:layout_marginHorizontal="12dp"
android:paddingTop="0.8dp"
android:background="?selectableItemBackground"
android:orientation="vertical"
android:gravity="center|bottom">
android:clickable="true"
android:focusable="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="@string/original_developer_full_name"
android:textColor="@color/github_color_fg_default"
android:textSize="@dimen/github_font_size_full_name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/original_developer_nickname"
android:textColor="@color/github_color_fg_muted"
android:textSize="@dimen/github_font_size_nickname" />
</LinearLayout>
<LinearLayout
android:id="@+id/icon_1st_developer_identifier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="?selectableItemBackground"
android:gravity="end"
android:focusable="true"
android:clickable="true">
<ImageView
android:layout_width="@dimen/icon_developer_identifier_image_side_length"
android:layout_height="@dimen/icon_developer_identifier_image_side_length"
android:padding="@dimen/icon_developer_identifier_image_padding"
android:layout_gravity="center"
android:src="@drawable/ic_looks_1_black_48dp"
app:tint="@color/tint_1st_developer_identifier"
android:contentDescription="icon_1st_developer_identifier" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="62dp"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="12dp"
android:background="?selectableItemBackground"
android:gravity="center_vertical"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:id="@+id/avatar_developer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="?selectableItemBackground"
android:gravity="center"
android:focusable="true"
android:clickable="true">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="@dimen/about_item_avatar_side_length"
android:layout_height="@dimen/about_item_avatar_side_length"
android:src="@drawable/avatar_developer"
android:contentDescription="avatar_developer"
app:civ_border_width="@dimen/github_avatar_border_width"
app:civ_border_color="@color/github_avatar_border" />
</LinearLayout>
<LinearLayout
android:id="@+id/avatar_developer_user_contents"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="@dimen/about_item_avatar_side_length"
android:layout_marginHorizontal="12dp"
android:paddingTop="0.8dp"
android:background="?selectableItemBackground"
android:orientation="vertical"
android:clickable="true"
android:focusable="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="@string/developer_full_name"
android:textColor="@color/github_color_fg_default"
android:textSize="@dimen/github_font_size_full_name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/developer_nickname"
android:textColor="@color/github_color_fg_muted"
android:textSize="@dimen/github_font_size_nickname" />
</LinearLayout>
<LinearLayout
android:id="@+id/icon_2nd_developer_identifier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="?selectableItemBackground"
android:gravity="end"
android:focusable="true"
android:clickable="true">
<ImageView
android:layout_width="@dimen/icon_developer_identifier_image_side_length"
android:layout_height="@dimen/icon_developer_identifier_image_side_length"
android:padding="@dimen/icon_developer_identifier_image_padding"
android:layout_gravity="center"
android:src="@drawable/ic_looks_2_black_48dp"
app:tint="@color/tint_2nd_developer_identifier"
android:contentDescription="icon_2nd_developer_identifier" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center|bottom">
<include
android:id="@+id/activity_about_function_buttons"
layout="@layout/activity_about_function_buttons"
android:layout_height="wrap_content"
android:layout_width="match_parent" />
android:id="@+id/activity_about_function_buttons"
layout="@layout/activity_about_function_buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<org.autojs.autojs.ui.widget.CopyrightTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="20dp"
tools:text="@string/text_copyright_sample"
android:textColor="@color/prefTextColorPrimary"
android:textSize="14sp" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="20dp"
tools:text="@string/text_copyright_sample"
android:textColor="@color/prefTextColorPrimary"
android:textSize="14sp" />
</LinearLayout>

View File

@@ -1,113 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@android:color/transparent"
android:orientation="vertical">
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:fillViewport="true"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?selectableItemBackground"
android:baselineAligned="false"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/about_functions_button_licenses"
android:layout_width="80dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?selectableItemBackground"
android:gravity="center"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:id="@+id/about_functions_button_licenses"
android:layout_width="80dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?selectableItemBackground"
android:gravity="top|center"
android:layout_marginHorizontal="3dp"
android:focusable="true"
android:clickable="true">
android:gravity="top|center"
android:layout_marginHorizontal="3dp"
android:focusable="true"
android:clickable="true">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="4dp"
android:src="@drawable/ic_about_license"
android:contentDescription="@string/desc_about_functions_button_licenses" />
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="4dp"
android:src="@drawable/ic_about_license"
android:contentDescription="@string/text_about_functions_licenses" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="6dp"
android:text="@string/text_about_functions_licenses"
android:maxLines="2"
android:gravity="center"
android:textSize="13sp"
android:textColor="@color/about_app_function_buttons" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="6dp"
android:text="@string/text_about_functions_licenses"
android:maxLines="2"
android:gravity="center"
android:textSize="13sp"
android:textColor="@color/about_app_function_buttons" />
</LinearLayout>
<LinearLayout
android:id="@+id/about_functions_button_update"
android:layout_width="80dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?selectableItemBackground"
android:gravity="top|center"
android:layout_marginHorizontal="3dp"
android:focusable="true"
android:clickable="true">
android:id="@+id/about_functions_button_update"
android:layout_width="80dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?selectableItemBackground"
android:gravity="top|center"
android:layout_marginHorizontal="3dp"
android:focusable="true"
android:clickable="true">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="4dp"
android:src="@drawable/ic_about_update"
android:contentDescription="@string/desc_about_functions_button_update" />
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="4dp"
android:src="@drawable/ic_about_update"
android:contentDescription="@string/text_about_functions_update" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="6dp"
android:maxLines="2"
android:gravity="center"
android:text="@string/text_about_functions_update"
android:textSize="13sp"
android:textColor="@color/about_app_function_buttons" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="6dp"
android:maxLines="2"
android:gravity="center"
android:text="@string/text_about_functions_update"
android:textSize="13sp"
android:textColor="@color/about_app_function_buttons" />
</LinearLayout>
<LinearLayout
android:id="@+id/about_functions_button_feedback"
android:layout_width="80dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?selectableItemBackground"
android:gravity="top|center"
android:layout_marginHorizontal="3dp"
android:focusable="true"
android:clickable="true">
android:id="@+id/about_functions_button_version_histories"
android:layout_width="80dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?selectableItemBackground"
android:gravity="top|center"
android:layout_marginHorizontal="3dp"
android:focusable="true"
android:clickable="true">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="4dp"
android:src="@drawable/ic_about_feedback"
android:contentDescription="@string/desc_about_functions_button_feedback" />
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="4dp"
android:src="@drawable/ic_about_version_histories"
android:contentDescription="@string/text_about_functions_version_histories" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="6dp"
android:maxLines="2"
android:gravity="center"
android:text="@string/text_about_functions_feedback"
android:textSize="13sp"
android:textColor="@color/about_app_function_buttons" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="6dp"
android:maxLines="2"
android:gravity="center"
android:text="@string/text_about_functions_version_histories"
android:textSize="13sp"
android:textColor="@color/about_app_function_buttons" />
</LinearLayout>
<LinearLayout
android:id="@+id/about_functions_button_feedback"
android:layout_width="80dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?selectableItemBackground"
android:gravity="top|center"
android:layout_marginHorizontal="3dp"
android:focusable="true"
android:clickable="true">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="4dp"
android:src="@drawable/ic_about_feedback"
android:contentDescription="@string/text_about_functions_feedback" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="6dp"
android:maxLines="2"
android:gravity="center"
android:text="@string/text_about_functions_feedback"
android:textSize="13sp"
android:textColor="@color/about_app_function_buttons" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</HorizontalScrollView>

View File

@@ -1,174 +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="wrap_content"
android:layout_marginTop="16dp"
android:background="@android:color/transparent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="62dp"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="12dp"
android:background="?selectableItemBackground"
android:gravity="center_vertical"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:id="@+id/avatar_original_developer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="?selectableItemBackground"
android:gravity="center"
android:focusable="true"
android:clickable="true">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="@dimen/about_item_avatar_side_length"
android:layout_height="@dimen/about_item_avatar_side_length"
android:src="@drawable/avatar_original_developer"
android:contentDescription="avatar_original_developer"
app:civ_border_width="@dimen/github_avatar_border_width"
app:civ_border_color="@color/github_avatar_border" />
</LinearLayout>
<LinearLayout
android:id="@+id/avatar_original_developer_user_contents"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="@dimen/about_item_avatar_side_length"
android:layout_marginHorizontal="12dp"
android:paddingTop="0.8dp"
android:background="?selectableItemBackground"
android:orientation="vertical"
android:clickable="true"
android:focusable="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="@string/original_developer_full_name"
android:textColor="@color/github_color_fg_default"
android:textSize="@dimen/github_font_size_full_name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/original_developer_nickname"
android:textColor="@color/github_color_fg_muted"
android:textSize="@dimen/github_font_size_nickname" />
</LinearLayout>
<LinearLayout
android:id="@+id/icon_1st_developer_identifier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="?selectableItemBackground"
android:gravity="end"
android:focusable="true"
android:clickable="true">
<ImageView
android:layout_width="@dimen/icon_developer_identifier_image_side_length"
android:layout_height="@dimen/icon_developer_identifier_image_side_length"
android:padding="@dimen/icon_developer_identifier_image_padding"
android:layout_gravity="center"
android:src="@drawable/ic_looks_1_black_48dp"
app:tint="@color/tint_1st_developer_identifier"
android:contentDescription="icon_1st_developer_identifier" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="62dp"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="12dp"
android:background="?selectableItemBackground"
android:gravity="center_vertical"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:id="@+id/avatar_developer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="?selectableItemBackground"
android:gravity="center"
android:focusable="true"
android:clickable="true">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="@dimen/about_item_avatar_side_length"
android:layout_height="@dimen/about_item_avatar_side_length"
android:src="@drawable/avatar_developer"
android:contentDescription="avatar_developer"
app:civ_border_width="@dimen/github_avatar_border_width"
app:civ_border_color="@color/github_avatar_border" />
</LinearLayout>
<LinearLayout
android:id="@+id/avatar_developer_user_contents"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="@dimen/about_item_avatar_side_length"
android:layout_marginHorizontal="12dp"
android:paddingTop="0.8dp"
android:background="?selectableItemBackground"
android:orientation="vertical"
android:clickable="true"
android:focusable="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="@string/developer_full_name"
android:textColor="@color/github_color_fg_default"
android:textSize="@dimen/github_font_size_full_name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/developer_nickname"
android:textColor="@color/github_color_fg_muted"
android:textSize="@dimen/github_font_size_nickname" />
</LinearLayout>
<LinearLayout
android:id="@+id/icon_2nd_developer_identifier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="?selectableItemBackground"
android:gravity="end"
android:focusable="true"
android:clickable="true">
<ImageView
android:layout_width="@dimen/icon_developer_identifier_image_side_length"
android:layout_height="@dimen/icon_developer_identifier_image_side_length"
android:padding="@dimen/icon_developer_identifier_image_padding"
android:layout_gravity="center"
android:src="@drawable/ic_looks_2_black_48dp"
app:tint="@color/tint_2nd_developer_identifier"
android:contentDescription="icon_2nd_developer_identifier" />
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@@ -1003,5 +1003,7 @@
<string name="changelog_label_improvement">تحسين</string>
<string name="changelog_label_dependency">التبعيات</string>
<string name="text_changelog_item_dependency">تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية</string>
<string name="text_about_functions_version_histories">Version histories</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">Failed to retrieve version.properties to parse version information</string>
</resources>

View File

@@ -998,5 +998,7 @@
<string name="changelog_label_improvement">Improvement</string>
<string name="changelog_label_dependency">Dependency</string>
<string name="text_changelog_item_dependency">Some dependency or local library version adjustments</string>
<string name="text_about_functions_version_histories">Version histories</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">Failed to retrieve version.properties to parse version information</string>
</resources>

View File

@@ -1001,5 +1001,7 @@
<string name="changelog_label_improvement">Mejora</string>
<string name="changelog_label_dependency">Dependencia</string>
<string name="text_changelog_item_dependency">Ajustes en algunas dependencias o versiones de bibliotecas locales</string>
<string name="text_about_functions_version_histories">Version histories</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">Failed to retrieve version.properties to parse version information</string>
</resources>

View File

@@ -1001,5 +1001,7 @@
<string name="changelog_label_improvement">Amélioration</string>
<string name="changelog_label_dependency">Dépendance</string>
<string name="text_changelog_item_dependency">Certaines dépendances ou versions de bibliothèques locales ont été ajustées</string>
<string name="text_about_functions_version_histories">Version histories</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">Failed to retrieve version.properties to parse version information</string>
</resources>

View File

@@ -1002,5 +1002,7 @@
<string name="changelog_label_improvement">改善</string>
<string name="changelog_label_dependency">依存関係</string>
<string name="text_changelog_item_dependency">一部の依存関係またはローカルライブラリのバージョン調整</string>
<string name="text_about_functions_version_histories">Version histories</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">Failed to retrieve version.properties to parse version information</string>
</resources>

View File

@@ -1003,5 +1003,7 @@
<string name="changelog_label_improvement">개선</string>
<string name="changelog_label_dependency">의존성</string>
<string name="text_changelog_item_dependency">일부 의존성 또는 로컬 라이브러리 버전 조정</string>
<string name="text_about_functions_version_histories">Version histories</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">Failed to retrieve version.properties to parse version information</string>
</resources>

View File

@@ -1001,5 +1001,7 @@
<string name="changelog_label_improvement">Улучшение</string>
<string name="changelog_label_dependency">Зависимость</string>
<string name="text_changelog_item_dependency">Изменения версий некоторых зависимостей или локальных библиотек</string>
<string name="text_about_functions_version_histories">Version histories</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">Failed to retrieve version.properties to parse version information</string>
</resources>

View File

@@ -999,5 +999,7 @@
<string name="changelog_label_improvement">優化</string>
<string name="changelog_label_dependency">依賴</string>
<string name="text_changelog_item_dependency">部分依賴或本地庫版本調整</string>
<string name="text_about_functions_version_histories">Version histories</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">Failed to retrieve version.properties to parse version information</string>
</resources>

View File

@@ -999,5 +999,7 @@
<string name="changelog_label_improvement">最佳化</string>
<string name="changelog_label_dependency">依賴</string>
<string name="text_changelog_item_dependency">部分依賴或本地庫版本調整</string>
<string name="text_about_functions_version_histories">Version histories</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">Failed to retrieve version.properties to parse version information</string>
</resources>

View File

@@ -999,5 +999,7 @@
<string name="changelog_label_improvement">优化</string>
<string name="changelog_label_dependency">依赖</string>
<string name="text_changelog_item_dependency">部分依赖或本地库版本调整</string>
<string name="text_about_functions_version_histories">版本历史</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">获取 version.properties 失败, 无法解析版本信息</string>
</resources>

View File

@@ -1,6 +1,7 @@
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="about_item_avatar_side_length">50dp</dimen>
<dimen name="about_item_avatar_side_length_land">60dp</dimen>
<dimen name="content_inset">16dp</dimen>
<dimen name="divider_drawer_menu_group">6dp</dimen>
<dimen name="fab_margin">16dp</dimen>

View File

@@ -27,9 +27,6 @@
<string name="default_key_keep_screen_on_when_in_foreground" translatable="false">@string/key_keep_screen_on_when_in_foreground_disabled</string>
<string name="default_key_root_record_out_file_type" translatable="false">@string/key_root_record_out_file_type_binary</string>
<string name="default_main_file_name" translatable="false">main.js</string>
<string name="desc_about_functions_button_feedback" translatable="false">about_functions_button_feedback</string>
<string name="desc_about_functions_button_licenses" translatable="false">about_functions_button_licenses</string>
<string name="desc_about_functions_button_update" translatable="false">about_functions_button_update</string>
<string name="developer_full_name" translatable="false">SuperMonster003</string>
<string name="developer_nickname" translatable="false">SuperMonster003</string>
<string name="ellipsis_six" translatable="false" tools:ignore="TypographyEllipsis">... ...</string>
@@ -1229,5 +1226,7 @@
<string name="changelog_label_improvement">Improvement</string>
<string name="changelog_label_dependency">Dependency</string>
<string name="text_changelog_item_dependency">Some dependency or local library version adjustments</string>
<string name="text_about_functions_version_histories">Version histories</string>
<string name="error_failed_to_retrieve_version_properties_file_to_parse_version_information">Failed to retrieve version.properties to parse version information</string>
</resources>