Merge branch 'fix_527' into develop

This commit is contained in:
Thomas 2025-04-01 18:17:02 +02:00
commit 16fb7dcc1f
7 changed files with 71 additions and 33 deletions

View file

@ -15,7 +15,9 @@ package app.fedilab.android.mastodon.activities;
* see <http://www.gnu.org/licenses>. */
import static app.fedilab.android.BaseMainActivity.currentInstance;
import static app.fedilab.android.BaseMainActivity.currentNightMode;
import static app.fedilab.android.BaseMainActivity.currentUserID;
import android.annotation.SuppressLint;
import android.content.Context;
@ -24,6 +26,7 @@ import android.content.res.Configuration;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
@ -72,8 +75,20 @@ public class BaseActivity extends AppCompatActivity {
}
String currentTheme = sharedpreferences.getString(getString(R.string.SET_THEME_BASE), getString(R.string.SET_DEFAULT_THEME));
boolean customAccentEnabled = sharedpreferences.getBoolean(getString(R.string.SET_CUSTOM_ACCENT) + currentUserID + currentInstance, false);
//Default automatic switch
currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
if(customAccentEnabled && currentNightMode == Configuration.UI_MODE_NIGHT_NO) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR|View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
}
if (currentTheme.equals(getString(R.string.SET_DEFAULT_THEME))) {
switch (currentNightMode) {
case Configuration.UI_MODE_NIGHT_NO -> {

View file

@ -15,7 +15,9 @@ package app.fedilab.android.mastodon.activities;
* see <http://www.gnu.org/licenses>. */
import static app.fedilab.android.BaseMainActivity.currentInstance;
import static app.fedilab.android.BaseMainActivity.currentNightMode;
import static app.fedilab.android.BaseMainActivity.currentUserID;
import android.annotation.SuppressLint;
import android.content.Context;
@ -24,6 +26,7 @@ import android.content.res.Configuration;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
@ -67,8 +70,16 @@ public class BaseBarActivity extends AppCompatActivity {
}
}
String currentTheme = sharedpreferences.getString(getString(R.string.SET_THEME_BASE), getString(R.string.SET_DEFAULT_THEME));
boolean customAccentEnabled = sharedpreferences.getBoolean(getString(R.string.SET_CUSTOM_ACCENT) + currentUserID + currentInstance, false);
//Default automatic switch
currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
if(customAccentEnabled && currentNightMode == Configuration.UI_MODE_NIGHT_NO) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR|View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
}
if (currentTheme.equals(getString(R.string.SET_DEFAULT_THEME))) {
switch (currentNightMode) {
case Configuration.UI_MODE_NIGHT_NO -> {

View file

@ -199,6 +199,7 @@ public class MediaActivity extends BaseBarActivity implements OnDownloadInterfac
if (mCurrentFragment != null) {
mCurrentFragment.toggleController(false);
}
binding.translate.setVisibility(View.GONE);
} else {
Toasty.error(MediaActivity.this, getString(R.string.toast_error_translate), Toast.LENGTH_LONG).show();
}
@ -248,6 +249,7 @@ public class MediaActivity extends BaseBarActivity implements OnDownloadInterfac
if (mCurrentFragment != null) {
mCurrentFragment.toggleController(true);
}
binding.translate.setVisibility(View.GONE);
} else {
Toasty.error(MediaActivity.this, getString(R.string.toast_error_translate), Toast.LENGTH_LONG).show();
}

View file

@ -631,15 +631,17 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
holder.binding.quotedMessage.cardviewContainer.setVisibility(View.GONE);
}
if (Helper.getCurrentAccount(context) != null && Helper.getCurrentAccount(context).api == Account.API.PLEROMA || status.reactions != null) {
if (status.pleroma != null && status.pleroma.emoji_reactions != null && status.pleroma.emoji_reactions.size() > 0) {
if (extraFeatures && displayReactions) {
holder.binding.statusAddCustomEmoji.setVisibility(View.VISIBLE);
holder.binding.statusEmoji.setVisibility(View.VISIBLE);
if (status.pleroma != null && status.pleroma.emoji_reactions != null && !status.pleroma.emoji_reactions.isEmpty()) {
holder.binding.layoutReactions.getRoot().setVisibility(View.VISIBLE);
ReactionAdapter reactionAdapter = new ReactionAdapter(status.id, status.pleroma.emoji_reactions, true);
holder.binding.layoutReactions.reactionsView.setAdapter(reactionAdapter);
LinearLayoutManager layoutManager
= new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
holder.binding.layoutReactions.reactionsView.setLayoutManager(layoutManager);
} else if (status.reactions != null && status.reactions.size() > 0) {
} else if (status.reactions != null && !status.reactions.isEmpty()) {
holder.binding.layoutReactions.getRoot().setVisibility(View.VISIBLE);
ReactionAdapter reactionAdapter = new ReactionAdapter(status.id, status.reactions, true, false);
holder.binding.layoutReactions.reactionsView.setAdapter(reactionAdapter);
@ -801,6 +803,9 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
}
builder.show();
});
} else {
holder.binding.statusAddCustomEmoji.setVisibility(View.GONE);
holder.binding.statusEmoji.setVisibility(View.GONE);
}
int truncate_toots_size = sharedpreferences.getInt(context.getString(R.string.SET_TRUNCATE_TOOTS_SIZE), 0);
@ -811,15 +816,6 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
} else {
holder.binding.actionButtonQuote.setVisibility(View.GONE);
}
if (displayReactions) {
holder.binding.statusAddCustomEmoji.setVisibility(View.VISIBLE);
holder.binding.statusEmoji.setVisibility(View.VISIBLE);
} else {
holder.binding.statusAddCustomEmoji.setVisibility(View.GONE);
holder.binding.statusEmoji.setVisibility(View.GONE);
}
}
if (status.isMaths == null) {

View file

@ -20,10 +20,10 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
android:fitsSystemWindows="true"
android:background="@android:color/transparent">
<androidx.viewpager.widget.ViewPager
android:id="@+id/media_viewpager"
android:layout_width="match_parent"
@ -45,17 +45,17 @@
android:layout_height="wrap_content">
<TextView
android:id="@+id/media_description"
android:fitsSystemWindows="true"
android:paddingStart="10dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingEnd="10dp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:maxHeight="300dp"
android:scrollbars="vertical"
android:layout_gravity="center_horizontal|bottom"
android:layout_gravity="center_horizontal"
tools:text="@tools:sample/lorem/random"
android:gravity="center"
android:gravity="center_horizontal"
android:textColor="#ffffffff"
android:textIsSelectable="true"
app:layout_constraintTop_toTopOf="parent"
@ -63,17 +63,16 @@
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:fitsSystemWindows="true"
android:id="@+id/media_description_translated"
android:layout_width="0dp"
android:layout_width="match_parent"
android:paddingStart="10dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingEnd="10dp"
android:maxHeight="300dp"
android:scrollbars="vertical"
android:layout_height="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center_horizontal|bottom"
android:gravity="center"
android:textColor="#ffffffff"
android:textIsSelectable="true"
@ -81,6 +80,7 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:visibility="visible" />
<androidx.constraintlayout.widget.Barrier
@ -90,16 +90,16 @@
app:barrierDirection="bottom"
app:constraint_referenced_ids="media_description,media_description_translated" />
<com.google.android.material.button.MaterialButton
android:layout_marginEnd="10dp"
android:id="@+id/translate"
style="@style/Widget.Material3.Button.ElevatedButton"
style="@style/Widget.Material3.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/translate"
android:drawablePadding="5dp"
android:text="@string/translate"
app:icon="@drawable/ic_baseline_translate_24"
app:iconPadding="0dp"
app:iconPadding="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/media_description_barrier" />

View file

@ -13,18 +13,20 @@
android:minHeight="@dimen/nav_header_height"
android:scaleType="centerCrop"
tools:src="@tools:sample/backgrounds/scenic" />
<ImageView
<com.google.android.material.button.MaterialButton
android:id="@+id/header_option_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.Icon"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:layout_marginEnd="16dp"
app:iconGravity="textStart"
app:iconPadding="0dp"
android:padding="0dp"
android:contentDescription="@string/information"
android:src="@drawable/ic_baseline_more_vert_24"
app:tint="?colorControlNormal" />
app:icon="@drawable/ic_baseline_more_vert_24" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"

View file

@ -26,6 +26,7 @@
<item name="statusBar">@color/md_theme_dark_background</item>
<item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
<item name="colorSurface">@color/md_theme_dark_surface</item>
<item name="colorSurfaceContainer">@color/md_theme_dark_surface</item>
<item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
@ -72,6 +73,7 @@
<item name="statusBar">@color/md_theme_dark_background</item>
<item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
<item name="colorSurface">@color/md_theme_dark_surface</item>
<item name="colorSurfaceContainer">@color/md_theme_dark_surface</item>
<item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
@ -126,6 +128,7 @@
<item name="statusBar">@color/md_theme_dark_background</item>
<item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
<item name="colorSurface">@color/md_theme_dark_surface</item>
<item name="colorSurfaceContainer">@color/md_theme_dark_surface</item>
<item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
@ -164,6 +167,7 @@
<item name="statusBar">@color/solarized_md_theme_dark_background</item>
<item name="colorOnBackground">@color/solarized_md_theme_dark_onBackground</item>
<item name="colorSurface">@color/solarized_md_theme_dark_surface</item>
<item name="colorSurfaceContainer">@color/solarized_md_theme_dark_surface</item>
<item name="colorOnSurface">@color/solarized_md_theme_dark_onSurface</item>
<item name="colorSurfaceVariant">@color/solarized_md_theme_dark_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/solarized_md_theme_dark_onSurfaceVariant</item>
@ -200,6 +204,7 @@
<item name="statusBar">@color/solarized_md_theme_dark_background</item>
<item name="colorOnBackground">@color/solarized_md_theme_dark_onBackground</item>
<item name="colorSurface">@color/solarized_md_theme_dark_surface</item>
<item name="colorSurfaceContainer">@color/solarized_md_theme_dark_surface</item>
<item name="colorOnSurface">@color/solarized_md_theme_dark_onSurface</item>
<item name="colorSurfaceVariant">@color/solarized_md_theme_dark_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/solarized_md_theme_dark_onSurfaceVariant</item>
@ -255,6 +260,7 @@
<item name="statusBar">@color/solarized_md_theme_dark_background</item>
<item name="colorOnBackground">@color/solarized_md_theme_dark_onBackground</item>
<item name="colorSurface">@color/solarized_md_theme_dark_surface</item>
<item name="colorSurfaceContainer">@color/solarized_md_theme_dark_surface</item>
<item name="colorOnSurface">@color/solarized_md_theme_dark_onSurface</item>
<item name="colorSurfaceVariant">@color/solarized_md_theme_dark_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/solarized_md_theme_dark_onSurfaceVariant</item>
@ -288,6 +294,7 @@
<item name="statusBar">@color/black</item>
<item name="colorOnBackground">@color/white</item>
<item name="colorSurface">@color/black</item>
<item name="colorSurfaceContainer">@color/black</item>
<item name="colorOnSurface">@color/white</item>
<item name="colorSurfaceVariant">@color/black</item>
<item name="colorOnSurfaceVariant">@color/white</item>
@ -320,6 +327,7 @@
<item name="statusBar">@color/black</item>
<item name="colorOnBackground">@color/white</item>
<item name="colorSurface">@color/black</item>
<item name="colorSurfaceContainer">@color/black</item>
<item name="colorOnSurface">@color/white</item>
<item name="colorSurfaceVariant">@color/black</item>
<item name="colorOnSurfaceVariant">@color/white</item>
@ -370,6 +378,7 @@
<item name="statusBar">@color/black</item>
<item name="colorOnBackground">@color/white</item>
<item name="colorSurface">@color/black</item>
<item name="colorSurfaceContainer">@color/black</item>
<item name="colorOnSurface">@color/white</item>
<item name="colorSurfaceVariant">@color/black</item>
<item name="colorOnSurfaceVariant">@color/white</item>
@ -404,6 +413,7 @@
<item name="statusBar">@color/dracula_background</item>
<item name="colorOnBackground">@color/dracula_foreground</item>
<item name="colorSurface">@color/dracula_background</item>
<item name="colorSurfaceContainer">@color/dracula_background</item>
<item name="colorOnSurface">@color/dracula_foreground</item>
<item name="colorSurfaceVariant">@color/dracula_current_Line</item>
<item name="colorOnSurfaceVariant">@color/dracula_foreground</item>
@ -437,6 +447,7 @@
<item name="statusBar">@color/dracula_background</item>
<item name="colorOnBackground">@color/dracula_foreground</item>
<item name="colorSurface">@color/dracula_background</item>
<item name="colorSurfaceContainer">@color/dracula_background</item>
<item name="colorOnSurface">@color/dracula_foreground</item>
<item name="colorSurfaceVariant">@color/dracula_current_Line</item>
<item name="colorOnSurfaceVariant">@color/dracula_foreground</item>
@ -488,6 +499,7 @@
<item name="statusBar">@color/dracula_background</item>
<item name="colorOnBackground">@color/dracula_foreground</item>
<item name="colorSurface">@color/dracula_background</item>
<item name="colorSurfaceContainer">@color/dracula_background</item>
<item name="colorOnSurface">@color/dracula_foreground</item>
<item name="colorSurfaceVariant">@color/dracula_current_Line</item>
<item name="colorOnSurfaceVariant">@color/dracula_foreground</item>