Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -871,30 +871,37 @@ class MiscSettingsActivity : AppCompatActivity(R.layout.activity_misc_settings)
}

fun showAppTriggerPackageDialog(context: Context, onPackageSet: (String) -> Unit) {
// Detect tablet and adjust padding accordingly
val isTablet = context.resources.configuration.smallestScreenWidthDp >= 720
val dialogPadding = if (isTablet) 80 else 50
val scrollPadding = if (isTablet) 60 else 40
val textSize = if (isTablet) 18f else 16f

val editText = AppCompatEditText(context).apply {
hint = context.getString(R.string.adv_tasker_dialog_edit_hint)
inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_MULTI_LINE
setHorizontallyScrolling(true)
if (persistentState.appTriggerPackages.isNotEmpty()) {
setText(persistentState.appTriggerPackages)
}
setPadding(50, 40, 50, 40)
setPadding(dialogPadding, 40, dialogPadding, 40)
gravity = Gravity.TOP or Gravity.START
android.R.style.Widget_Material_EditText
this.textSize = textSize
}

val selectableTextView = AppCompatTextView(context).apply {
text = context.getString(R.string.adv_tasker_dialog_msg)
setTextIsSelectable(true)
setPadding(50, 40, 50, 0)
textSize = 16f
setPadding(dialogPadding, 40, dialogPadding, 0)
textSize = this@apply.textSize
}

val instructionsTextView = AppCompatTextView(context).apply {
text = context.getString(R.string.adv_tasker_dialog_instructions)
setTextIsSelectable(true)
setPadding(50, 40, 50, 0)
textSize = 16f
setPadding(dialogPadding, 40, dialogPadding, 0)
textSize = this@apply.textSize
}

// add a LinearLayout as the single child of the ScrollView, then add the text view and
Expand All @@ -907,7 +914,7 @@ class MiscSettingsActivity : AppCompatActivity(R.layout.activity_misc_settings)
}

val scrollView = ScrollView(context).apply {
setPadding(40, 10, 40, 0)
setPadding(scrollPadding, 10, scrollPadding, 0)
addView(linearLayout)
}

Expand Down
835 changes: 835 additions & 0 deletions app/src/full/res/layout-sw720dp-land/fragment_home_screen.xml

Large diffs are not rendered by default.

288 changes: 288 additions & 0 deletions app/src/full/res/layout-sw720dp/activity_advanced_setting.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,288 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView 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/background"
android:fillViewport="true"
android:orientation="vertical">

<!-- Constrain content width on tablets for better readability -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
android:paddingStart="@dimen/home_screen_side_margin"
android:paddingEnd="@dimen/home_screen_side_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<TextView
android:id="@+id/settings_heading"
style="@style/TextAppearance.AppCompat.Subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="24dp"
android:fontFamily="sans-serif-smallcaps"
android:lineSpacingExtra="8dp"
android:padding="8dp"
android:text="@string/lbl_network"
android:textColor="?attr/accentGood"
android:textSize="@dimen/extra_large_font_text_view"
android:textStyle="bold" />

<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="true"
app:cardCornerRadius="16dp"
app:cardElevation="4dp"
app:cardUseCompatPadding="true">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="@dimen/default_padding"
android:paddingBottom="@dimen/default_padding">

<!-- Enhanced settings items with better touch targets for tablets -->
<RelativeLayout
android:id="@+id/settings_anti_censorship_rl"
android:layout_width="match_parent"
android:layout_height="72dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingStart="@dimen/default_padding"
android:paddingTop="12dp"
android:paddingEnd="@dimen/default_padding"
android:paddingBottom="12dp">

<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/settings_anti_censorship_img"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_centerVertical="true"
android:padding="4dp"
android:src="@drawable/ic_bolt_white" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_toEndOf="@id/settings_anti_censorship_img"
android:layout_toStartOf="@id/settings_anti_censorship_switch"
android:orientation="vertical">

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/settings_anti_censorship_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/settings_anti_censorship_title"
android:textColor="?attr/primaryTextColor"
android:textSize="@dimen/large_font_text_view"
android:textStyle="bold" />

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/settings_anti_censorship_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/settings_anti_censorship_desc"
android:textColor="?attr/secondaryTextColor"
android:textSize="@dimen/default_font_text_view" />
</LinearLayout>

<androidx.appcompat.widget.SwitchCompat
android:id="@+id/settings_anti_censorship_switch"
style="@style/CustomWidget.MaterialComponents.CompoundButton.Switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="8dp"
android:clickable="false"
android:focusable="false" />
</RelativeLayout>

<!-- Separator line -->
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginStart="@dimen/default_padding"
android:layout_marginEnd="@dimen/default_padding"
android:background="?attr/divider" />

<RelativeLayout
android:id="@+id/settings_prevent_dns_leaks_rl"
android:layout_width="match_parent"
android:layout_height="72dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingStart="@dimen/default_padding"
android:paddingTop="12dp"
android:paddingEnd="@dimen/default_padding"
android:paddingBottom="12dp">

<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/settings_prevent_dns_leaks_img"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_centerVertical="true"
android:padding="4dp"
android:src="@drawable/ic_exit_to_app_white" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_toEndOf="@id/settings_prevent_dns_leaks_img"
android:layout_toStartOf="@id/settings_prevent_dns_leaks_switch"
android:orientation="vertical">

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/settings_prevent_dns_leaks_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/settings_prevent_dns_leaks_title"
android:textColor="?attr/primaryTextColor"
android:textSize="@dimen/large_font_text_view"
android:textStyle="bold" />

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/settings_prevent_dns_leaks_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/settings_prevent_dns_leaks_desc"
android:textColor="?attr/secondaryTextColor"
android:textSize="@dimen/default_font_text_view" />
</LinearLayout>

<androidx.appcompat.widget.SwitchCompat
android:id="@+id/settings_prevent_dns_leaks_switch"
style="@style/CustomWidget.MaterialComponents.CompoundButton.Switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="8dp"
android:clickable="false"
android:focusable="false" />
</RelativeLayout>

<!-- Additional setting items can be added here following the same pattern -->

</LinearLayout>
</com.google.android.material.card.MaterialCardView>

<!-- DNS Settings Card -->
<TextView
android:id="@+id/settings_dns_heading"
style="@style/TextAppearance.AppCompat.Subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="32dp"
android:fontFamily="sans-serif-smallcaps"
android:lineSpacingExtra="8dp"
android:padding="8dp"
android:text="@string/lbl_dns"
android:textColor="?attr/accentGood"
android:textSize="@dimen/extra_large_font_text_view"
android:textStyle="bold" />

<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="true"
app:cardCornerRadius="16dp"
app:cardElevation="4dp"
app:cardUseCompatPadding="true">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="@dimen/default_padding"
android:paddingBottom="@dimen/default_padding">

<RelativeLayout
android:id="@+id/settings_local_blocklist_rl"
android:layout_width="match_parent"
android:layout_height="72dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingStart="@dimen/default_padding"
android:paddingTop="12dp"
android:paddingEnd="@dimen/default_padding"
android:paddingBottom="12dp">

<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/settings_local_blocklist_img"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_centerVertical="true"
android:padding="4dp"
android:src="@drawable/ic_local_blocks" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_toEndOf="@id/settings_local_blocklist_img"
android:layout_toStartOf="@id/settings_local_blocklist_switch"
android:orientation="vertical">

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/settings_local_blocklist_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/settings_local_blocklist_title"
android:textColor="?attr/primaryTextColor"
android:textSize="@dimen/large_font_text_view"
android:textStyle="bold" />

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/settings_local_blocklist_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/settings_local_blocklist_desc"
android:textColor="?attr/secondaryTextColor"
android:textSize="@dimen/default_font_text_view" />
</LinearLayout>

<androidx.appcompat.widget.SwitchCompat
android:id="@+id/settings_local_blocklist_switch"
style="@style/CustomWidget.MaterialComponents.CompoundButton.Switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="8dp"
android:clickable="false"
android:focusable="false" />
</RelativeLayout>

</LinearLayout>
</com.google.android.material.card.MaterialCardView>

<!-- Add bottom spacing for better scrolling experience -->
<View
android:layout_width="match_parent"
android:layout_height="@dimen/home_screen_bottom_margin" />

</LinearLayout>

</androidx.core.widget.NestedScrollView>
Loading