Rework card, add core to disable monet theme

Fix dark terminal option is enable able while the system dark mode is active
pull/145/head
DerGoogler 2 years ago
parent 55415166da
commit fa46b79c3e

@ -116,6 +116,10 @@ public class MainApplication extends CompatApplication {
return getSharedPreferences().getBoolean("pref_dns_over_https", true);
}
public static boolean isMonetEnabled() {
return getSharedPreferences().getBoolean("pref_enable_monet", false);
}
public static boolean isBlurEnabled() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
getSharedPreferences().getBoolean("pref_enable_blur", false);
@ -282,7 +286,9 @@ public class MainApplication extends CompatApplication {
public void onCreate() {
super.onCreate();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
DynamicColors.applyToActivitiesIfAvailable(this);
if (MainApplication.isMonetEnabled()) {
DynamicColors.applyToActivitiesIfAvailable(this);
}
}
SharedPreferences sharedPreferences = MainApplication.getSharedPreferences();
// We are only one process so it's ok to do this

@ -10,6 +10,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.ColorInt;
@ -71,6 +72,7 @@ public final class ModuleViewAdapter extends RecyclerView.Adapter<ModuleViewAdap
private final TextView titleText;
private final TextView creditText;
private final TextView descriptionText;
private final LinearLayout moduleOptionsHolder;
private final TextView updateText;
private final Chip[] actionsButtons;
private final ArrayList<ActionButtonType> actionButtonsTypes;
@ -87,6 +89,7 @@ public final class ModuleViewAdapter extends RecyclerView.Adapter<ModuleViewAdap
this.titleText = itemView.findViewById(R.id.title_text);
this.creditText = itemView.findViewById(R.id.credit_text);
this.descriptionText = itemView.findViewById(R.id.description_text);
this.moduleOptionsHolder = itemView.findViewById(R.id.module_options_holder);
this.updateText = itemView.findViewById(R.id.updated_text);
this.actionsButtons = new Chip[6];
this.actionsButtons[0] = itemView.findViewById(R.id.button_action1);
@ -182,6 +185,7 @@ public final class ModuleViewAdapter extends RecyclerView.Adapter<ModuleViewAdap
this.switchMaterial.setVisibility(View.GONE);
}
this.creditText.setVisibility(View.VISIBLE);
this.moduleOptionsHolder.setVisibility(View.VISIBLE);
this.descriptionText.setVisibility(View.VISIBLE);
ModuleInfo moduleInfo = moduleHolder.getMainModuleInfo();

@ -1,5 +1,6 @@
package com.fox2code.mmm.settings;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.widget.Toast;
@ -82,11 +83,12 @@ public class SettingsActivity extends CompatActivity {
enableBlur.setEnabled(false);
}
Preference disableMonet = findPreference("pref_disable_monet");
Preference disableMonet = findPreference("pref_enable_monet");
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
disableMonet.setSummary(R.string.require_android_12);
disableMonet.setEnabled(false);
}
Preference forceEnglish = findPreference("pref_force_english");
forceEnglish.setOnPreferenceChangeListener((preference, newValue) -> {
CompatThemeWrapper compatThemeWrapper =
@ -104,8 +106,18 @@ public class SettingsActivity extends CompatActivity {
Http.setDoh((Boolean) v);
return true;
});
if ("dark".equals(themePreference.getValue())) {
findPreference("pref_force_dark_terminal").setEnabled(false);
int nightModeFlags =
getContext().getResources().getConfiguration().uiMode &
Configuration.UI_MODE_NIGHT_MASK;
switch (nightModeFlags) {
case Configuration.UI_MODE_NIGHT_YES:
findPreference("pref_force_dark_terminal").setEnabled(false);
break;
case Configuration.UI_MODE_NIGHT_NO:
case Configuration.UI_MODE_NIGHT_UNDEFINED:
findPreference("pref_force_dark_terminal").setEnabled(true);
break;
}
if (!MainApplication.isDeveloper()) {
findPreference("pref_disable_low_quality_module_filter").setVisible(false);

@ -8,208 +8,109 @@
android:layout_marginRight="8dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:gravity="center_vertical">
android:gravity="center_vertical"
android:orientation="vertical">
<com.google.android.material.card.MaterialCardView
android:id="@+id/card_view"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="@dimen/card_corner_radius"
app:strokeColor="@android:color/transparent"
app:cardPreventCornerOverlap="true"
app:cardElevation="0dp"
app:strokeWidth="0dp">
style="?attr/materialCardViewFilledStyle">
<androidx.constraintlayout.widget.ConstraintLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:layout_constraintBottom_toBottomOf="@+id/description_text"
app:layout_constraintTop_toBottomOf="@+id/description_text">
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/button_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:background="@android:color/transparent"
android:importantForAccessibility="no"
android:src="@drawable/ic_baseline_delete_forever_24"
android:textSize="16sp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="RtlHardcoded" />
<!-- Module components -->
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/switch_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
android:orientation="vertical">
<TextView
android:id="@+id/title_text"
<!-- Media -->
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="@string/loading"
android:textSize="16sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
android:layout_height="194dp"
android:visibility="gone"
android:scaleType="centerCrop"
/>
<TextView
android:id="@+id/credit_text"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/title_text"
android:text="@string/loading"
android:textSize="12sp"
app:layout_constraintTop_toBottomOf="@id/title_text" />
android:orientation="vertical"
android:padding="8dp">
<TextView
android:id="@+id/description_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/credit_text"
android:layout_marginTop="4dp"
android:text="@string/loading"
android:textSize="16sp"
app:layout_constraintTop_toBottomOf="@id/credit_text" />
<!-- Module components -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:background="@null"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/description_text">
<TextView
android:id="@+id/title_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:maxLines="1"
android:text="@string/loading"
android:textSize="16sp"
android:textAppearance="?attr/textAppearanceTitleMedium"
/>
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/switch_action"
android:layout_width="wrap_content"
android:layout_height="35dp" />
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/button_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:background="@android:color/transparent"
android:importantForAccessibility="no"
android:src="@drawable/ic_baseline_delete_forever_24"
android:textSize="16sp"
tools:ignore="RtlHardcoded" />
</LinearLayout>
<TextView
android:id="@+id/updated_text"
android:id="@+id/credit_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="bottom"
android:text="@string/loading"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<!--<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/button_action1"
android:textSize="16sp"
android:visibility="gone"
android:src="@drawable/ic_baseline_error_24"
android:layout_width="@dimen/module_action_icon_size"
android:layout_height="@dimen/module_action_icon_size"
android:background="?android:attr/selectableItemBackgroundBorderless"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:importantForAccessibility="no"
android:layout_marginLeft="8dp"
android:layout_marginRight="3dp"
android:layout_marginBottom="1dp"
tools:ignore="RtlHardcoded" />
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/button_action2"
android:textSize="16sp"
android:visibility="gone"
android:src="@drawable/ic_baseline_error_24"
android:layout_width="@dimen/module_action_icon_size"
android:layout_height="@dimen/module_action_icon_size"
android:background="?android:attr/selectableItemBackgroundBorderless"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@id/button_action1"
android:importantForAccessibility="no"
android:layout_marginLeft="8dp"
android:layout_marginBottom="1dp"
tools:ignore="RtlHardcoded" />
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/button_action3"
android:textSize="16sp"
android:visibility="gone"
android:src="@drawable/ic_baseline_error_24"
android:layout_width="@dimen/module_action_icon_size"
android:layout_height="@dimen/module_action_icon_size"
android:background="?android:attr/selectableItemBackgroundBorderless"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@id/button_action2"
android:importantForAccessibility="no"
android:layout_marginLeft="8dp"
android:layout_marginBottom="1dp"
tools:ignore="RtlHardcoded" />
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/button_action4"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
/>
<TextView
android:id="@+id/description_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/loading"
android:textSize="16sp"
android:visibility="gone"
android:src="@drawable/ic_baseline_error_24"
android:layout_width="@dimen/module_action_icon_size"
android:layout_height="@dimen/module_action_icon_size"
android:background="?android:attr/selectableItemBackgroundBorderless"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@id/button_action3"
android:importantForAccessibility="no"
android:layout_marginLeft="8dp"
android:layout_marginBottom="1dp"
tools:ignore="RtlHardcoded" />
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
/>
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/button_action5"
android:textSize="16sp"
android:visibility="gone"
android:src="@drawable/ic_baseline_error_24"
android:layout_width="@dimen/module_action_icon_size"
android:layout_height="@dimen/module_action_icon_size"
android:background="?android:attr/selectableItemBackgroundBorderless"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@id/button_action4"
android:importantForAccessibility="no"
android:layout_marginLeft="8dp"
android:layout_marginBottom="1dp"
tools:ignore="RtlHardcoded" />
<TextView
android:id="@+id/updated_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="8dp"
android:text="@string/loading"
android:textSize="12sp" />
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/button_action6"
android:textSize="16sp"
android:visibility="gone"
android:src="@drawable/ic_baseline_error_24"
android:layout_width="@dimen/module_action_icon_size"
android:layout_height="@dimen/module_action_icon_size"
android:background="?android:attr/selectableItemBackgroundBorderless"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@id/button_action5"
android:importantForAccessibility="no"
android:layout_marginLeft="8dp"
android:layout_marginBottom="1dp"
tools:ignore="RtlHardcoded" />-->
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<View
android:id="@+id/div"
android:layout_width="match_parent"
android:layout_margin="8dp"
android:layout_height="2dp"
<!-- Buttons -->
<LinearLayout
android:id="@+id/module_options_holder"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:background="@null"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/div">
<!-- Module actions -->
android:layout_margin="8dp"
android:orientation="horizontal">
<HorizontalScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="match_parent"
@ -228,7 +129,7 @@
android:id="@+id/button_action1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:text="@string/loading"
android:visibility="gone"
app:chipIcon="@drawable/ic_baseline_error_24" />
@ -236,7 +137,7 @@
android:id="@+id/button_action2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:text="@string/loading"
android:visibility="gone"
app:chipIcon="@drawable/ic_baseline_error_24" />
@ -245,7 +146,7 @@
android:id="@+id/button_action3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:text="@string/loading"
android:visibility="gone"
app:chipIcon="@drawable/ic_baseline_error_24" />
@ -253,7 +154,7 @@
android:id="@+id/button_action4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:text="@string/loading"
android:visibility="gone"
app:chipIcon="@drawable/ic_baseline_error_24" />
@ -261,7 +162,7 @@
android:id="@+id/button_action5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:text="@string/loading"
android:visibility="gone"
app:chipIcon="@drawable/ic_baseline_error_24" />
@ -269,12 +170,14 @@
android:id="@+id/button_action6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:text="@string/loading"
android:visibility="gone"
app:chipIcon="@drawable/ic_baseline_error_24" />
</com.google.android.material.chip.ChipGroup>
</HorizontalScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>

@ -47,7 +47,7 @@
<string name="prevent_reboot_pref">Prevent reboot</string>
<string name="prevent_reboot_desc">Prevents unexpected reboots</string>
<string name="pref_category_settings">Settings</string>
<string name="disable_monet">Disable Monet</string>
<string name="enable_monet">Enable Monet</string>
<string name="pref_category_info">Info</string>
<string name="show_licenses">Show licenses</string>
<string name="licenses">Licences</string>

@ -73,9 +73,9 @@
<SwitchPreferenceCompat
app:defaultValue="false"
app:key="pref_disable_monet"
app:key="pref_enable_monet"
app:icon="@drawable/ic_baseline_design_services_24"
app:title="@string/disable_monet"
app:title="@string/enable_monet"
app:singleLineTitle="false" />
<SwitchPreferenceCompat

Loading…
Cancel
Save