Dark theme WIP

This commit is contained in:
Grishka
2022-02-17 21:06:18 +03:00
parent 6f74315b7f
commit 2dcd3c765f
16 changed files with 90 additions and 37 deletions

View File

@@ -2,6 +2,7 @@ package org.joinmastodon.android.fragments;
import android.app.Activity;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
@@ -9,11 +10,9 @@ import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.Toolbar;
import org.joinmastodon.android.R;
@@ -26,19 +25,18 @@ import org.joinmastodon.android.ui.BetterItemAnimator;
import org.joinmastodon.android.ui.displayitems.FooterStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.HeaderStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.ImageStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.PhotoStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.PollFooterStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.PollOptionStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.StatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.TextStatusDisplayItem;
import org.joinmastodon.android.ui.photoviewer.PhotoViewer;
import org.joinmastodon.android.ui.photoviewer.PhotoViewerHost;
import org.joinmastodon.android.ui.utils.UiUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import androidx.annotation.NonNull;
@@ -249,7 +247,7 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
list.addItemDecoration(new RecyclerView.ItemDecoration(){
private Paint paint=new Paint();
{
paint.setColor(0xFFD0D5DD);
paint.setColor(UiUtils.getThemeColor(getActivity(), R.attr.colorPollVoted));
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(V.dp(1));
}

View File

@@ -1,6 +1,7 @@
package org.joinmastodon.android.fragments;
import android.app.Fragment;
import android.content.res.Configuration;
import android.graphics.Outline;
import android.os.Build;
import android.os.Bundle;
@@ -13,6 +14,7 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import org.joinmastodon.android.MastodonApp;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.model.Account;
@@ -117,12 +119,12 @@ public class HomeFragment extends AppKitFragment implements OnBackPressedListene
@Override
public boolean wantsLightStatusBar(){
return currentTab!=R.id.tab_profile;
return currentTab!=R.id.tab_profile && (MastodonApp.context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)!=Configuration.UI_MODE_NIGHT_YES;
}
@Override
public boolean wantsLightNavigationBar(){
return true;
return (MastodonApp.context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)!=Configuration.UI_MODE_NIGHT_YES;
}
@Override

View File

@@ -1,6 +1,7 @@
package org.joinmastodon.android.fragments;
import android.app.Activity;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.Gravity;
@@ -21,6 +22,7 @@ import org.joinmastodon.android.api.requests.timelines.GetHomeTimeline;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.events.StatusCreatedEvent;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.ui.utils.UiUtils;
import org.parceler.Parcels;
import java.util.Collections;
@@ -70,17 +72,6 @@ public class HomeTimelineFragment extends StatusListFragment{
@Override
public boolean onOptionsItemSelected(MenuItem item){
// Bundle args=new Bundle();
// args.putString("account", accountID);
// int id=item.getItemId();
// if(id==R.id.new_toot){
// Nav.go(getActivity(), ComposeFragment.class, args);
// }else if(id==R.id.notifications){
// Nav.go(getActivity(), NotificationsFragment.class, args);
// }else if(id==R.id.my_profile){
// args.putParcelable("profileAccount", Parcels.wrap(AccountSessionManager.getInstance().getAccount(accountID).self));
// Nav.go(getActivity(), ProfileFragment.class, args);
// }
return true;
}
@@ -112,6 +103,7 @@ public class HomeTimelineFragment extends StatusListFragment{
ImageView logo=new ImageView(getActivity());
logo.setScaleType(ImageView.ScaleType.CENTER);
logo.setImageResource(R.drawable.logo);
logo.setImageTintList(ColorStateList.valueOf(UiUtils.getThemeColor(getActivity(), android.R.attr.textColorPrimary)));
Toolbar toolbar=getToolbar();
toolbar.addView(logo, new Toolbar.LayoutParams(Gravity.CENTER));
}

View File

@@ -9,7 +9,7 @@ import org.joinmastodon.android.ui.utils.UiUtils;
public class LinkSpan extends CharacterStyle {
private int color=0xFF569ace;
private int color=0xFF00FF00;
private OnLinkClickListener listener;
private String link;
private Type type;
@@ -22,17 +22,13 @@ public class LinkSpan extends CharacterStyle {
this.accountID=accountID;
}
public void setColor(int c){
color=c;
}
public int getColor(){
return color;
}
@Override
public void updateDrawState(TextPaint tp) {
tp.setColor(color);
tp.setColor(color=tp.linkColor);
}
public void onClick(Context context){