Compare commits
55 Commits
v1.2.3+for
...
1.1.4+fork
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a24ff0d15 | ||
|
|
c463a3fc39 | ||
|
|
fc845685cc | ||
|
|
0ef0aa1a44 | ||
|
|
337689aa45 | ||
|
|
f7e3423f9c | ||
|
|
b465c09cc8 | ||
|
|
ac6c0651d6 | ||
|
|
18af6f5a12 | ||
|
|
d11ee3a702 | ||
|
|
6d9f9ce2d2 | ||
|
|
ec1496a4cc | ||
|
|
41e19185e8 | ||
|
|
e15dd6024f | ||
|
|
e52dffeece | ||
|
|
5b85bb427d | ||
|
|
4d62388617 | ||
|
|
04b8055474 | ||
|
|
3c34b6a7d2 | ||
|
|
de4964c2cd | ||
|
|
fbcaa05c03 | ||
|
|
883f28696e | ||
|
|
df52230837 | ||
|
|
a90f26a37a | ||
|
|
8c1f76d7fa | ||
|
|
f384d44f8f | ||
|
|
4ab6ed55f5 | ||
|
|
cf99bf5152 | ||
|
|
10779717cf | ||
|
|
db4c1bfe47 | ||
|
|
27afba1cf2 | ||
|
|
4895425b40 | ||
|
|
004c414fba | ||
|
|
c8e38b134c | ||
|
|
de5a911286 | ||
|
|
606cd7442e | ||
|
|
3ebc972268 | ||
|
|
4e39bb381c | ||
|
|
b6178681b0 | ||
|
|
29abf70cec | ||
|
|
8d63be513d | ||
|
|
e63b9d0dd6 | ||
|
|
b1fda17ac7 | ||
|
|
bad44b145c | ||
|
|
77669cedf6 | ||
|
|
19238c389f | ||
|
|
1747ff98b5 | ||
|
|
8fa5824e3e | ||
|
|
6a674d7a7e | ||
|
|
dad3b8cd6b | ||
|
|
9179d2198d | ||
|
|
d096bef234 | ||
|
|
f2c47a1b84 | ||
|
|
bc2ac4e915 | ||
|
|
ff215412c8 |
14
README.md
@@ -1,18 +1,22 @@
|
||||

|
||||
|
||||
# Megalodon
|
||||
# Moshidon
|
||||
|
||||
> A fork of the [official Mastodon Android app](https://github.com/mastodon/mastodon-android) adding important features that are missing in the official app and possibly won’t ever be implemented, such as the federated timeline, unlisted posting, bookmarks and an image description viewer.
|
||||
> A fork of [megalodon](https://github.com/sk22/megalodon) which is a fork of [official Mastodon Android app](https://github.com/mastodon/mastodon-android) adding important features that are missing in the official app and possibly won’t ever be implemented, such as the federated timeline, unlisted posting, bookmarks and an image description viewer.
|
||||
|
||||
**Warning! [The last version's integrated updater was broken](https://github.com/sk22/megalodon/issues/106) – I already published a fixed version! If you're not updating through Izzy's F-Droid repository (more sources to come, hopefully!), you'll have to download the current release manually. Sorry about that!**
|
||||
[//]: # (**Warning! [The last version's integrated updater was broken](https://github.com/sk22/megalodon/issues/106) – I already published a fixed version! If you're not updating through Izzy's F-Droid repository (more sources to come, hopefully!), you'll have to download the current release manually. Sorry about that!**)
|
||||
|
||||
[](https://github.com/sk22/megalodon/releases/latest/download/megalodon.apk)
|
||||
[](https://github.com/LucasGGamerM/moshidon/releases/latest/download/moshidon.apk)
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Key features
|
||||
|
||||
### **Color themes**
|
||||
|
||||
**Allows you to change theme within the app. Supports Purple, pink, green, blue, orange and yellow!**
|
||||
|
||||
### **Unlisted posting**
|
||||
|
||||
**Allows you to post publicly without having your post show up in trends, hashtags or public timelines (i.e., in the tabs “Local”, “Community” and “Posts”).**
|
||||
@@ -139,4 +143,4 @@ This project is released under the [GPL-3 License](./LICENSE).
|
||||
|
||||
## Links
|
||||
|
||||
<a rel="me" href="https://floss.social/@megalodon">@megalodon<wbr>@floss.social</a>
|
||||
<a rel="me" href="https://floss.social/@moshidon">@moshidon<wbr>@floss.social</a>
|
||||
|
||||
@@ -5,12 +5,12 @@ plugins {
|
||||
android {
|
||||
compileSdk 33
|
||||
defaultConfig {
|
||||
archivesBaseName = "megalodon"
|
||||
applicationId "org.joinmastodon.android.sk"
|
||||
archivesBaseName = "moshidon"
|
||||
applicationId "org.joinmastodon.android.moshinda"
|
||||
minSdk 23
|
||||
targetSdk 33
|
||||
versionCode 51
|
||||
versionName "1.1.4+fork.51"
|
||||
versionCode 59
|
||||
versionName "1.1.4+fork.59.moshinda"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
resConfigs "en", "ar-rSA", "bs-rBA", "ca-rES", "cs-rCZ", "de-rDE", "el-rGR", "es-rES",
|
||||
"eu-rES", "fi-rFI", "fr-rFR", "gl-rES", "hr-rHR", "hy-rAM", "it-rIT", "iw-rIL",
|
||||
|
||||
BIN
mastodon/src/github/ic_launcher-playstore.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
@@ -111,7 +111,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
|
||||
|
||||
private void actuallyCheckForUpdates(){
|
||||
Request req=new Request.Builder()
|
||||
.url("https://api.github.com/repos/sk22/megalodon/releases/latest")
|
||||
.url("https://api.github.com/repos/LucasGGamerM/moshidon/releases/latest")
|
||||
.build();
|
||||
Call call=MastodonAPIController.getHttpClient().newCall(req);
|
||||
try(Response resp=call.execute()){
|
||||
@@ -144,7 +144,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
|
||||
Log.d(TAG, "actuallyCheckForUpdates: new version: "+version);
|
||||
for(JsonElement el:obj.getAsJsonArray("assets")){
|
||||
JsonObject asset=el.getAsJsonObject();
|
||||
if("megalodon.apk".equals(asset.get("name").getAsString()) && "application/vnd.android.package-archive".equals(asset.get("content_type").getAsString()) && "uploaded".equals(asset.get("state").getAsString())){
|
||||
if("moshidon.apk".equals(asset.get("name").getAsString()) && "application/vnd.android.package-archive".equals(asset.get("content_type").getAsString()) && "uploaded".equals(asset.get("state").getAsString())){
|
||||
long size=asset.get("size").getAsLong();
|
||||
String url=asset.get("browser_download_url").getAsString();
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
android:localeConfig="@xml/locales_config"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:theme="@style/Theme.Mastodon.AutoLightDark"
|
||||
android:theme="@style/Theme.Mastodon.AutoLightDark.Original"
|
||||
android:largeHeap="true">
|
||||
|
||||
<activity android:name=".MainActivity" android:exported="true" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize" android:launchMode="singleTask">
|
||||
@@ -33,7 +33,7 @@
|
||||
<action android:name="android.intent.action.VIEW"/>
|
||||
<category android:name="android.intent.category.BROWSABLE"/>
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
<data android:scheme="megalodon-android-auth" android:host="callback"/>
|
||||
<data android:scheme="moshidon-android-auth" android:host="callback"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name=".ExternalShareActivity" android:exported="true" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize">
|
||||
|
||||
|
Before Width: | Height: | Size: 358 KiB After Width: | Height: | Size: 15 KiB |
@@ -14,8 +14,9 @@ public class GlobalUserPreferences{
|
||||
public static boolean alwaysExpandContentWarnings;
|
||||
public static boolean disableMarquee;
|
||||
public static ThemePreference theme;
|
||||
public static ColorPreference color;
|
||||
|
||||
private static SharedPreferences getPrefs(){
|
||||
private static SharedPreferences getPrefs(){
|
||||
return MastodonApp.context.getSharedPreferences("global", Context.MODE_PRIVATE);
|
||||
}
|
||||
|
||||
@@ -31,6 +32,7 @@ public class GlobalUserPreferences{
|
||||
alwaysExpandContentWarnings=prefs.getBoolean("alwaysExpandContentWarnings", false);
|
||||
disableMarquee=prefs.getBoolean("disableMarquee", false);
|
||||
theme=ThemePreference.values()[prefs.getInt("theme", 0)];
|
||||
color=ColorPreference.values()[prefs.getInt("color", 1)];
|
||||
}
|
||||
|
||||
public static void save(){
|
||||
@@ -45,12 +47,23 @@ public class GlobalUserPreferences{
|
||||
.putBoolean("alwaysExpandContentWarnings", alwaysExpandContentWarnings)
|
||||
.putBoolean("disableMarquee", disableMarquee)
|
||||
.putInt("theme", theme.ordinal())
|
||||
.putInt("color", color.ordinal())
|
||||
.apply();
|
||||
}
|
||||
|
||||
public enum ColorPreference{
|
||||
PINK,
|
||||
PURPLE,
|
||||
GREEN,
|
||||
BLUE,
|
||||
ORANGE,
|
||||
YELLOW
|
||||
}
|
||||
|
||||
public enum ThemePreference{
|
||||
AUTO,
|
||||
LIGHT,
|
||||
DARK
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@ public class CreateOAuthApp extends MastodonAPIRequest<Application>{
|
||||
}
|
||||
|
||||
private static class Request{
|
||||
public String clientName="Megalodon";
|
||||
public String clientName="Moshidon";
|
||||
public String redirectUris=AccountSessionManager.REDIRECT_URI;
|
||||
public String scopes=AccountSessionManager.SCOPE;
|
||||
public String website="https://sk22.github.io/megalodon";
|
||||
public String website="https://github.com/LucasGGamerM/moshidon";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package org.joinmastodon.android.api.requests.statuses;
|
||||
|
||||
import org.joinmastodon.android.api.AllFieldsAreRequired;
|
||||
import org.joinmastodon.android.api.MastodonAPIRequest;
|
||||
import org.joinmastodon.android.model.BaseModel;
|
||||
import org.joinmastodon.android.model.Status;
|
||||
import org.joinmastodon.android.model.StatusTranslation;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class GetStatusTranslation extends MastodonAPIRequest<StatusTranslation>{
|
||||
public GetStatusTranslation(String id){
|
||||
super(HttpMethod.POST, "/statuses/"+id+"/translate", StatusTranslation.class);
|
||||
Request r = new Request();
|
||||
setRequestBody(r);
|
||||
}
|
||||
|
||||
public static class Request{
|
||||
}
|
||||
}
|
||||
@@ -61,7 +61,7 @@ import me.grishka.appkit.api.ErrorResponse;
|
||||
public class AccountSessionManager{
|
||||
private static final String TAG="AccountSessionManager";
|
||||
public static final String SCOPE="read write follow push";
|
||||
public static final String REDIRECT_URI="megalodon-android-auth://callback";
|
||||
public static final String REDIRECT_URI="moshidon-android-auth://callback";
|
||||
|
||||
private static final AccountSessionManager instance=new AccountSessionManager();
|
||||
|
||||
@@ -211,7 +211,7 @@ public class AccountSessionManager{
|
||||
.path("/oauth/authorize")
|
||||
.appendQueryParameter("response_type", "code")
|
||||
.appendQueryParameter("client_id", result.clientId)
|
||||
.appendQueryParameter("redirect_uri", "megalodon-android-auth://callback")
|
||||
.appendQueryParameter("redirect_uri", "moshidon-android-auth://callback")
|
||||
.appendQueryParameter("scope", SCOPE)
|
||||
.build();
|
||||
|
||||
|
||||
@@ -457,6 +457,21 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
|
||||
Status status=holder.getItem().status;
|
||||
revealSpoiler(status, holder.getItemID());
|
||||
}
|
||||
public void onRevealTranslationClick(HeaderStatusDisplayItem.Holder holder){
|
||||
Status status=holder.getItem().status;
|
||||
revealTranslation(status, holder.getItemID());
|
||||
}
|
||||
|
||||
protected void revealTranslation(Status status, String itemID){
|
||||
status.wantsTranslation=!status.wantsTranslation;
|
||||
TextStatusDisplayItem.Holder text=findHolderOfType(itemID, TextStatusDisplayItem.Holder.class);
|
||||
if(text!=null)
|
||||
adapter.notifyItemChanged(text.getAbsoluteAdapterPosition()-getMainAdapterOffset());
|
||||
HeaderStatusDisplayItem.Holder header=findHolderOfType(itemID, HeaderStatusDisplayItem.Holder.class);
|
||||
if(header!=null)
|
||||
header.rebind();
|
||||
updateImagesSpoilerState(status, itemID);
|
||||
}
|
||||
|
||||
protected void revealSpoiler(Status status, String itemID){
|
||||
status.spoilerRevealed=true;
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.AnimatorSet;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.app.Activity;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@@ -17,6 +18,7 @@ import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toolbar;
|
||||
|
||||
@@ -56,7 +58,7 @@ import me.grishka.appkit.utils.V;
|
||||
|
||||
public class HomeTimelineFragment extends StatusListFragment{
|
||||
private ImageButton fab;
|
||||
private TextView toolbarLogo;
|
||||
private ImageView toolbarLogo;
|
||||
private Button toolbarShowNewPostsBtn;
|
||||
private boolean newPostsBtnShown;
|
||||
private AnimatorSet currentNewPostsAnim;
|
||||
@@ -315,9 +317,13 @@ public class HomeTimelineFragment extends StatusListFragment{
|
||||
}
|
||||
|
||||
private void updateToolbarLogo(){
|
||||
toolbarLogo =new TextView(getActivity());
|
||||
toolbarLogo.setText(getString(R.string.app_name).toLowerCase(Locale.getDefault()));
|
||||
toolbarLogo.setTextAppearance(R.style.app_title);
|
||||
toolbarLogo=new ImageView(getActivity());
|
||||
toolbarLogo.setScaleType(ImageView.ScaleType.CENTER);
|
||||
toolbarLogo.setImageResource(R.drawable.logo);
|
||||
toolbarLogo.setImageTintList(ColorStateList.valueOf(UiUtils.getThemeColor(getActivity(), android.R.attr.textColorPrimary)));
|
||||
// toolbarLogo =new TextView(getActivity());
|
||||
// toolbarLogo.setText(getString(R.string.app_name).toLowerCase(Locale.getDefault()));
|
||||
// toolbarLogo.setTextAppearance(R.style.app_title);
|
||||
|
||||
toolbarShowNewPostsBtn=new Button(getActivity());
|
||||
toolbarShowNewPostsBtn.setTextAppearance(R.style.m3_title_medium);
|
||||
|
||||
@@ -9,6 +9,7 @@ import android.graphics.Canvas;
|
||||
import android.graphics.Rect;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -99,6 +100,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
GlobalUserPreferences.disableMarquee=i.checked;
|
||||
GlobalUserPreferences.save();
|
||||
}));
|
||||
items.add(new ColorPicker());
|
||||
|
||||
items.add(new HeaderItem(R.string.settings_behavior));
|
||||
items.add(new SwitchItem(R.string.settings_gif, R.drawable.ic_fluent_gif_24_regular, GlobalUserPreferences.playGifs, i->{
|
||||
@@ -150,7 +152,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
checkForUpdateItem = new TextItem(R.string.check_for_update, GithubSelfUpdater.getInstance()::checkForUpdates);
|
||||
items.add(checkForUpdateItem);
|
||||
}
|
||||
items.add(new TextItem(R.string.settings_contribute_fork, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/sk22/megalodon")));
|
||||
items.add(new TextItem(R.string.settings_contribute_fork, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/LucasGGamerM/moshidon")));
|
||||
items.add(new TextItem(R.string.settings_clear_cache, this::clearImageCache));
|
||||
items.add(new TextItem(R.string.log_out, this::confirmLogOut));
|
||||
|
||||
@@ -224,6 +226,12 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
restartActivityToApplyNewTheme();
|
||||
}
|
||||
|
||||
private void onColorPreferenceClick(GlobalUserPreferences.ColorPreference color){
|
||||
GlobalUserPreferences.color=color;
|
||||
GlobalUserPreferences.save();
|
||||
restartActivityToApplyNewTheme();
|
||||
}
|
||||
|
||||
private void onTrueBlackThemeChanged(SwitchItem item){
|
||||
GlobalUserPreferences.trueBlackTheme=item.checked;
|
||||
GlobalUserPreferences.save();
|
||||
@@ -426,6 +434,13 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
}
|
||||
}
|
||||
|
||||
public class ColorPicker extends Item{
|
||||
@Override
|
||||
public int getViewType(){
|
||||
return 8;
|
||||
}
|
||||
}
|
||||
|
||||
private static class ThemeItem extends Item{
|
||||
|
||||
@Override
|
||||
@@ -510,6 +525,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
case 5 -> new HeaderViewHolder(true);
|
||||
case 6 -> new FooterViewHolder();
|
||||
case 7 -> new UpdateViewHolder();
|
||||
case 8 -> new ColorPickerViewHolder();
|
||||
default -> throw new IllegalStateException("Unexpected value: "+viewType);
|
||||
};
|
||||
}
|
||||
@@ -638,6 +654,68 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
}
|
||||
}
|
||||
}
|
||||
private class ColorPickerViewHolder extends BindableViewHolder<ColorPicker>{
|
||||
private final Button button;
|
||||
private final PopupMenu popupMenu;
|
||||
private final ImageView icon;
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
public ColorPickerViewHolder(){
|
||||
super(getActivity(), R.layout.item_settings_color_picker, list);
|
||||
icon=findViewById(R.id.icon);
|
||||
button=findViewById(R.id.color_picker_button);
|
||||
popupMenu=new PopupMenu(getActivity(), button, Gravity.CENTER_HORIZONTAL);
|
||||
popupMenu.inflate(R.menu.color_picker);
|
||||
popupMenu.setOnMenuItemClickListener(item->{
|
||||
GlobalUserPreferences.ColorPreference pref;
|
||||
int id=item.getItemId();
|
||||
if(id==R.id.pink_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.PINK;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.purple_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.PURPLE;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.green_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.GREEN;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.blue_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.BLUE;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.orange_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.ORANGE;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.yellow_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.YELLOW;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
// UiUtils.enablePopupMenuIcons(getActivity(), popupMenu);
|
||||
button.setOnTouchListener(popupMenu.getDragToOpenListener());
|
||||
button.setOnClickListener(v->popupMenu.show());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBind(ColorPicker item){
|
||||
icon.setImageResource(R.drawable.ic_color_theme_preference);
|
||||
button.setText(switch(GlobalUserPreferences.color){
|
||||
case PINK -> R.string.pink_color;
|
||||
case PURPLE -> R.string.purple_color;
|
||||
case GREEN -> R.string.green_color;
|
||||
case BLUE -> R.string.blue_color;
|
||||
case ORANGE -> R.string.orange_color;
|
||||
case YELLOW -> R.string.yellow_color;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private class NotificationPolicyViewHolder extends BindableViewHolder<NotificationPolicyItem>{
|
||||
private final Button button;
|
||||
|
||||
@@ -40,6 +40,7 @@ public class Status extends BaseModel implements DisplayItemsParent{
|
||||
public long favouritesCount;
|
||||
public long repliesCount;
|
||||
public Instant editedAt;
|
||||
public boolean wantsTranslation;
|
||||
|
||||
public String url;
|
||||
public String inReplyToId;
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
package org.joinmastodon.android.model;
|
||||
|
||||
import org.joinmastodon.android.GlobalUserPreferences;
|
||||
import org.joinmastodon.android.api.ObjectValidationException;
|
||||
import org.joinmastodon.android.api.RequiredField;
|
||||
import org.joinmastodon.android.events.StatusCountersUpdatedEvent;
|
||||
import org.joinmastodon.android.ui.text.HtmlParser;
|
||||
import org.parceler.Parcel;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.List;
|
||||
|
||||
@Parcel
|
||||
public class StatusTranslation extends BaseModel implements DisplayItemsParent{
|
||||
// @RequiredField
|
||||
public String id;
|
||||
// @RequiredField
|
||||
public String uri;
|
||||
// @RequiredField
|
||||
public Instant createdAt;
|
||||
// @RequiredField
|
||||
public Account account;
|
||||
// @RequiredField
|
||||
public String content;
|
||||
// @RequiredField
|
||||
public StatusPrivacy visibility;
|
||||
public boolean sensitive;
|
||||
// @RequiredField
|
||||
public String spoilerText;
|
||||
// @RequiredField
|
||||
public List<Attachment> mediaAttachments;
|
||||
public Application application;
|
||||
// @RequiredField
|
||||
public List<Mention> mentions;
|
||||
// @RequiredField
|
||||
public List<Hashtag> tags;
|
||||
// @RequiredField
|
||||
public List<Emoji> emojis;
|
||||
public long reblogsCount;
|
||||
public long favouritesCount;
|
||||
public long repliesCount;
|
||||
public Instant editedAt;
|
||||
|
||||
public String url;
|
||||
public String inReplyToId;
|
||||
public String inReplyToAccountId;
|
||||
public Status reblog;
|
||||
public Poll poll;
|
||||
public Card card;
|
||||
public String language;
|
||||
public String text;
|
||||
|
||||
public boolean favourited;
|
||||
public boolean reblogged;
|
||||
public boolean muted;
|
||||
public boolean bookmarked;
|
||||
public boolean pinned;
|
||||
|
||||
public transient boolean spoilerRevealed;
|
||||
public transient boolean hasGapAfter;
|
||||
private transient String strippedText;
|
||||
|
||||
@Override
|
||||
public void postprocess() throws ObjectValidationException{
|
||||
super.postprocess();
|
||||
// if(application!=null)
|
||||
// application.postprocess();
|
||||
// for(Mention m:mentions)
|
||||
// m.postprocess();
|
||||
// for(Hashtag t:tags)
|
||||
// t.postprocess();
|
||||
// for(Emoji e:emojis)
|
||||
// e.postprocess();
|
||||
// for(Attachment a:mediaAttachments)
|
||||
// a.postprocess();
|
||||
// account.postprocess();
|
||||
// if(poll!=null)
|
||||
// poll.postprocess();
|
||||
// if(card!=null)
|
||||
// card.postprocess();
|
||||
// if(reblog!=null)
|
||||
// reblog.postprocess();
|
||||
|
||||
// spoilerRevealed=GlobalUserPreferences.alwaysExpandContentWarnings || !sensitive;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString(){
|
||||
return "Status{"+
|
||||
"id='"+id+'\''+
|
||||
", uri='"+uri+'\''+
|
||||
", createdAt="+createdAt+
|
||||
", account="+account+
|
||||
", content='"+content+'\''+
|
||||
", visibility="+visibility+
|
||||
", sensitive="+sensitive+
|
||||
", spoilerText='"+spoilerText+'\''+
|
||||
", mediaAttachments="+mediaAttachments+
|
||||
", application="+application+
|
||||
", mentions="+mentions+
|
||||
", tags="+tags+
|
||||
", emojis="+emojis+
|
||||
", reblogsCount="+reblogsCount+
|
||||
", favouritesCount="+favouritesCount+
|
||||
", repliesCount="+repliesCount+
|
||||
", url='"+url+'\''+
|
||||
", inReplyToId='"+inReplyToId+'\''+
|
||||
", inReplyToAccountId='"+inReplyToAccountId+'\''+
|
||||
", reblog="+reblog+
|
||||
", poll="+poll+
|
||||
", card="+card+
|
||||
", language='"+language+'\''+
|
||||
", text='"+text+'\''+
|
||||
", favourited="+favourited+
|
||||
", reblogged="+reblogged+
|
||||
", muted="+muted+
|
||||
", bookmarked="+bookmarked+
|
||||
", pinned="+pinned+
|
||||
'}';
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getID(){
|
||||
return id;
|
||||
}
|
||||
|
||||
public void update(StatusCountersUpdatedEvent ev){
|
||||
favouritesCount=ev.favorites;
|
||||
reblogsCount=ev.reblogs;
|
||||
repliesCount=ev.replies;
|
||||
favourited=ev.favorited;
|
||||
reblogged=ev.reblogged;
|
||||
bookmarked=ev.bookmarked;
|
||||
pinned=ev.pinned;
|
||||
}
|
||||
|
||||
public StatusTranslation getContentStatus(){
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getStrippedText(){
|
||||
if(strippedText==null)
|
||||
strippedText=HtmlParser.strip(content);
|
||||
return strippedText;
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,7 @@ import org.joinmastodon.android.GlobalUserPreferences;
|
||||
import org.joinmastodon.android.R;
|
||||
import org.joinmastodon.android.api.requests.accounts.GetAccountRelationships;
|
||||
import org.joinmastodon.android.api.requests.statuses.GetStatusSourceText;
|
||||
import org.joinmastodon.android.api.requests.statuses.GetStatusTranslation;
|
||||
import org.joinmastodon.android.api.session.AccountSessionManager;
|
||||
import org.joinmastodon.android.fragments.BaseStatusListFragment;
|
||||
import org.joinmastodon.android.fragments.ComposeFragment;
|
||||
@@ -33,6 +34,7 @@ import org.joinmastodon.android.model.Account;
|
||||
import org.joinmastodon.android.model.Attachment;
|
||||
import org.joinmastodon.android.model.Relationship;
|
||||
import org.joinmastodon.android.model.Status;
|
||||
import org.joinmastodon.android.model.StatusTranslation;
|
||||
import org.joinmastodon.android.ui.text.HtmlParser;
|
||||
import org.joinmastodon.android.ui.utils.CustomEmojiHelper;
|
||||
import org.joinmastodon.android.ui.utils.UiUtils;
|
||||
@@ -60,6 +62,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
private SpannableStringBuilder parsedName;
|
||||
public final Status status;
|
||||
private boolean hasVisibilityToggle;
|
||||
private boolean hasTranslateToggle;
|
||||
boolean needBottomPadding;
|
||||
private String extraText;
|
||||
|
||||
@@ -74,6 +77,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
HtmlParser.parseCustomEmoji(parsedName, user.emojis);
|
||||
emojiHelper.setText(parsedName);
|
||||
if(status!=null){
|
||||
hasTranslateToggle=true;
|
||||
hasVisibilityToggle=status.sensitive || !TextUtils.isEmpty(status.spoilerText);
|
||||
if(!hasVisibilityToggle && !status.mediaAttachments.isEmpty()){
|
||||
for(Attachment att:status.mediaAttachments){
|
||||
@@ -107,7 +111,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
|
||||
public static class Holder extends StatusDisplayItem.Holder<HeaderStatusDisplayItem> implements ImageLoaderViewHolder{
|
||||
private final TextView name, username, timestamp, extraText;
|
||||
private final ImageView avatar, more, visibility;
|
||||
private final ImageView avatar, more, visibility, translate;
|
||||
private final PopupMenu optionsMenu;
|
||||
private Relationship relationship;
|
||||
private APIRequest<?> currentRelationshipRequest;
|
||||
@@ -121,6 +125,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
|
||||
public Holder(Activity activity, ViewGroup parent){
|
||||
super(activity, R.layout.display_item_header, parent);
|
||||
translate=findViewById(R.id.translate);
|
||||
name=findViewById(R.id.name);
|
||||
username=findViewById(R.id.username);
|
||||
timestamp=findViewById(R.id.timestamp);
|
||||
@@ -133,6 +138,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
avatar.setClipToOutline(true);
|
||||
more.setOnClickListener(this::onMoreClick);
|
||||
visibility.setOnClickListener(v->item.parentFragment.onVisibilityIconClick(this));
|
||||
translate.setOnClickListener(v->item.parentFragment.onRevealTranslationClick(this));
|
||||
|
||||
optionsMenu=new PopupMenu(activity, more);
|
||||
optionsMenu.inflate(R.menu.post);
|
||||
@@ -226,6 +232,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
else
|
||||
timestamp.setText(item.parentFragment.getString(R.string.edited_timestamp, UiUtils.formatRelativeTimestamp(itemView.getContext(), item.status.editedAt)));
|
||||
visibility.setVisibility(item.hasVisibilityToggle && !item.inset ? View.VISIBLE : View.GONE);
|
||||
translate.setVisibility(item.hasTranslateToggle ? View.VISIBLE : View.GONE);
|
||||
if(item.hasVisibilityToggle){
|
||||
visibility.setImageResource(item.status.spoilerRevealed ? R.drawable.ic_visibility_off : R.drawable.ic_visibility);
|
||||
visibility.setContentDescription(item.parentFragment.getString(item.status.spoilerRevealed ? R.string.hide_content : R.string.reveal_content));
|
||||
@@ -233,6 +240,9 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
visibility.setTooltipText(visibility.getContentDescription());
|
||||
}
|
||||
}
|
||||
if(item.hasTranslateToggle){
|
||||
translate.setImageResource(item.status.wantsTranslation ? R.drawable.ic_translate_on : R.drawable.ic_translate_off);
|
||||
}
|
||||
itemView.setPadding(itemView.getPaddingLeft(), itemView.getPaddingTop(), itemView.getPaddingRight(), item.needBottomPadding ? V.dp(16) : 0);
|
||||
if(TextUtils.isEmpty(item.extraText)){
|
||||
extraText.setVisibility(View.GONE);
|
||||
|
||||
@@ -8,17 +8,22 @@ import android.text.TextUtils;
|
||||
import android.util.TypedValue;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.joinmastodon.android.R;
|
||||
import org.joinmastodon.android.api.requests.statuses.GetStatusTranslation;
|
||||
import org.joinmastodon.android.fragments.BaseStatusListFragment;
|
||||
import org.joinmastodon.android.model.Status;
|
||||
import org.joinmastodon.android.model.StatusTranslation;
|
||||
import org.joinmastodon.android.ui.drawables.SpoilerStripesDrawable;
|
||||
import org.joinmastodon.android.ui.text.HtmlParser;
|
||||
import org.joinmastodon.android.ui.utils.CustomEmojiHelper;
|
||||
import org.joinmastodon.android.ui.views.LinkedTextView;
|
||||
|
||||
import me.grishka.appkit.api.Callback;
|
||||
import me.grishka.appkit.api.ErrorResponse;
|
||||
import me.grishka.appkit.imageloader.ImageLoaderViewHolder;
|
||||
import me.grishka.appkit.imageloader.MovieDrawable;
|
||||
import me.grishka.appkit.imageloader.requests.ImageLoaderRequest;
|
||||
@@ -35,6 +40,7 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
|
||||
super(parentID, parentFragment);
|
||||
this.text=text;
|
||||
this.status=status;
|
||||
// this.wantsTranslation=wantsTranslation;
|
||||
emojiHelper.setText(text);
|
||||
if(!TextUtils.isEmpty(status.spoilerText)){
|
||||
parsedSpoilerText=HtmlParser.parseCustomEmoji(status.spoilerText, status.emojis);
|
||||
@@ -68,6 +74,7 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
|
||||
private final TextView spoilerTitle, spoilerTitleInline;
|
||||
private final View spoilerOverlay, borderTop, borderBottom;
|
||||
private final Drawable backgroundColor, borderColor;
|
||||
private final Button translateToggle;
|
||||
|
||||
public Holder(Activity activity, ViewGroup parent){
|
||||
super(activity, R.layout.display_item_text, parent);
|
||||
@@ -77,6 +84,7 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
|
||||
spoilerHeader=findViewById(R.id.spoiler_header);
|
||||
spoilerOverlay=findViewById(R.id.spoiler_overlay);
|
||||
borderTop=findViewById(R.id.border_top);
|
||||
translateToggle=findViewById(R.id.translate);
|
||||
borderBottom=findViewById(R.id.border_bottom);
|
||||
itemView.setOnClickListener(v->item.parentFragment.onRevealSpoilerClick(this));
|
||||
|
||||
@@ -91,7 +99,24 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
|
||||
|
||||
@Override
|
||||
public void onBind(TextStatusDisplayItem item){
|
||||
text.setText(item.text);
|
||||
if(item.status.wantsTranslation){
|
||||
new GetStatusTranslation(item.status.id)
|
||||
.setCallback(new Callback<StatusTranslation>(){
|
||||
@Override
|
||||
public void onSuccess(StatusTranslation status){
|
||||
text.setText(status.getStrippedText());
|
||||
}
|
||||
@Override
|
||||
public void onError(ErrorResponse error){
|
||||
error.showToast(item.parentFragment.getActivity());
|
||||
}
|
||||
|
||||
})
|
||||
.wrapProgress(item.parentFragment.getActivity(), R.string.loading, true)
|
||||
.exec(item.parentFragment.getAccountID());
|
||||
}else{
|
||||
text.setText(item.text);
|
||||
}
|
||||
text.setTextIsSelectable(item.textSelectable);
|
||||
spoilerTitleInline.setTextIsSelectable(item.textSelectable);
|
||||
text.setInvalidateOnEveryFrame(false);
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.provider.OpenableColumns;
|
||||
import android.provider.Settings;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.Spanned;
|
||||
import android.view.Menu;
|
||||
@@ -655,13 +656,71 @@ public class UiUtils{
|
||||
}
|
||||
|
||||
public static void setUserPreferredTheme(Context context){
|
||||
context.setTheme(switch(GlobalUserPreferences.theme){
|
||||
case AUTO -> GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack : R.style.Theme_Mastodon_AutoLightDark;
|
||||
case LIGHT -> R.style.Theme_Mastodon_Light;
|
||||
case DARK -> GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack : R.style.Theme_Mastodon_Dark;
|
||||
});
|
||||
}
|
||||
// boolean isDarkTheme = isDarkTheme();
|
||||
switch(GlobalUserPreferences.color){
|
||||
case PINK:
|
||||
context.setTheme(switch(GlobalUserPreferences.theme){
|
||||
case AUTO ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack : R.style.Theme_Mastodon_AutoLightDark;
|
||||
case LIGHT ->
|
||||
R.style.Theme_Mastodon_Light;
|
||||
case DARK ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack : R.style.Theme_Mastodon_Dark;
|
||||
});
|
||||
break;
|
||||
case PURPLE:
|
||||
context.setTheme(switch(GlobalUserPreferences.theme){
|
||||
case AUTO ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Original : R.style.Theme_Mastodon_AutoLightDark_Original;
|
||||
case LIGHT ->
|
||||
R.style.Theme_Mastodon_Light_Original;
|
||||
case DARK ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Original : R.style.Theme_Mastodon_Dark_Original;
|
||||
});
|
||||
break;
|
||||
case GREEN:
|
||||
context.setTheme(switch(GlobalUserPreferences.theme){
|
||||
case AUTO ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Green : R.style.Theme_Mastodon_AutoLightDark_Green;
|
||||
case LIGHT ->
|
||||
R.style.Theme_Mastodon_Light_Green;
|
||||
case DARK ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Green : R.style.Theme_Mastodon_Dark_Green;
|
||||
});
|
||||
break;
|
||||
case BLUE:
|
||||
context.setTheme(switch(GlobalUserPreferences.theme){
|
||||
case AUTO ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Blue : R.style.Theme_Mastodon_AutoLightDark_Blue;
|
||||
case LIGHT ->
|
||||
R.style.Theme_Mastodon_Light_Blue;
|
||||
case DARK ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Blue : R.style.Theme_Mastodon_Dark_Blue;
|
||||
});
|
||||
break;
|
||||
case ORANGE:
|
||||
context.setTheme(switch(GlobalUserPreferences.theme){
|
||||
case AUTO ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Orange : R.style.Theme_Mastodon_AutoLightDark_Orange;
|
||||
case LIGHT ->
|
||||
R.style.Theme_Mastodon_Light_Orange;
|
||||
case DARK ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Orange : R.style.Theme_Mastodon_Dark_Orange;
|
||||
});
|
||||
break;
|
||||
case YELLOW:
|
||||
context.setTheme(switch(GlobalUserPreferences.theme){
|
||||
case AUTO ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Yellow : R.style.Theme_Mastodon_AutoLightDark_Yellow;
|
||||
case LIGHT ->
|
||||
R.style.Theme_Mastodon_Light_Yellow;
|
||||
case DARK ->
|
||||
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Yellow : R.style.Theme_Mastodon_Dark_Yellow;
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
public static boolean isDarkTheme(){
|
||||
if(GlobalUserPreferences.theme==GlobalUserPreferences.ThemePreference.AUTO)
|
||||
return (MastodonApp.context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)==Configuration.UI_MODE_NIGHT_YES;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/boost_selected" android:state_selected="true"/>
|
||||
<item android:color="?android:colorAccent" android:state_selected="true"/>
|
||||
<item android:color="?android:textColorSecondary" android:state_enabled="true"/>
|
||||
<item android:color="?android:textColorSecondary" android:alpha="0.3"/>
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/gray_800" android:state_enabled="true"/>
|
||||
<item android:color="@color/gray_300"/>
|
||||
<item android:color="?android:colorPrimary" android:state_enabled="true"/>
|
||||
<item android:color="?colorPollVoted"/>
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/gray_100" android:state_enabled="true"/>
|
||||
<item android:color="@color/gray_500"/>
|
||||
<item android:color="?colorSecondary" android:state_enabled="true"/>
|
||||
<item android:color="?colorPollVoted"/>
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/gray_25" android:state_enabled="true"/>
|
||||
<item android:color="@color/gray_100"/>
|
||||
<item android:color="?colorBackgroundLightest" android:state_enabled="true"/>
|
||||
<item android:color="?android:colorBackground"/>
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/gray_600" android:state_enabled="true"/>
|
||||
<item android:color="@color/gray_300"/>
|
||||
<item android:color="?colorPollVoted" android:state_enabled="true"/>
|
||||
<item android:color="?colorSearchHint"/>
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/gray_50" android:state_enabled="true"/>
|
||||
<item android:color="@color/gray_400"/>
|
||||
<item android:color="?colorSecondary" android:state_enabled="true"/>
|
||||
<item android:color="?colorTabInactive"/>
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/gray_800" android:state_enabled="true"/>
|
||||
<item android:color="@color/gray_400"/>
|
||||
<item android:color="@color/black" android:state_enabled="true"/>
|
||||
<item android:color="?colorTabInactive"/>
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/gray_800" android:state_enabled="true"/>
|
||||
<item android:color="@color/gray_400"/>
|
||||
<item android:color="?android:colorPrimary" android:state_enabled="true"/>
|
||||
<item android:color="?colorTabInactive"/>
|
||||
</selector>
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/gray_50"/>
|
||||
<item android:color="?colorSecondary"/>
|
||||
</selector>
|
||||
22
mastodon/src/main/res/drawable-anydpi-v24/ic_ntf_logo.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="#FFFFFF">
|
||||
<group android:scaleX="0.9699526"
|
||||
android:scaleY="0.9699526"
|
||||
android:translateX="0.96"
|
||||
android:translateY="6.925208">
|
||||
<path
|
||||
android:pathData="m3.639,-0c-1.097,0 -1.983,0.387 -2.658,1.141 -0.655,0.754 -0.981,1.771 -0.981,3.053l0,6.27L2.482,10.464L2.482,4.378c0,-1.284 0.539,-1.935 1.618,-1.935 1.192,0 1.791,0.773 1.791,2.3l0,3.331l2.468,0l0,-3.331c0,-1.527 0.598,-2.3 1.791,-2.3 1.078,0 1.618,0.651 1.618,1.935l0,6.085l2.482,0l0,-6.27c0,-1.281 -0.326,-2.299 -0.981,-3.053 -0.676,-0.754 -1.56,-1.141 -2.658,-1.141 -1.27,0 -2.232,0.488 -2.868,1.466L7.125,2.504 6.506,1.466C5.87,0.488 4.909,-0 3.639,-0Z"
|
||||
android:strokeWidth="0.796"
|
||||
android:fillColor="#000000"/>
|
||||
<path
|
||||
android:pathData="m18.947,10.464q-1.113,0 -1.986,-0.493 -0.873,-0.507 -1.366,-1.366 -0.479,-0.873 -0.479,-1.958 0,-1.07 0.479,-1.944 0.493,-0.873 1.366,-1.366 0.873,-0.507 1.986,-0.507 1.099,0 1.972,0.507 0.873,0.493 1.352,1.366 0.493,0.873 0.493,1.944 0,1.085 -0.493,1.958 -0.479,0.859 -1.352,1.366 -0.873,0.493 -1.972,0.493zM18.947,8.759q0.535,0 0.986,-0.254 0.451,-0.254 0.718,-0.732 0.268,-0.479 0.268,-1.127 0,-0.634 -0.268,-1.113 -0.268,-0.479 -0.718,-0.732 -0.451,-0.254 -0.986,-0.254 -0.535,0 -0.986,0.254 -0.451,0.254 -0.732,0.732 -0.268,0.479 -0.268,1.113 0,0.634 0.268,1.127 0.282,0.479 0.732,0.732 0.451,0.254 0.986,0.254z"
|
||||
android:strokeWidth="0.687"
|
||||
android:fillColor="#000000"
|
||||
android:strokeColor="#00000000"/>
|
||||
</group>
|
||||
</vector>
|
||||
BIN
mastodon/src/main/res/drawable-hdpi/ic_ntf_logo.png
Normal file
|
After Width: | Height: | Size: 405 B |
BIN
mastodon/src/main/res/drawable-mdpi/ic_ntf_logo.png
Normal file
|
After Width: | Height: | Size: 295 B |
BIN
mastodon/src/main/res/drawable-xhdpi/ic_ntf_logo.png
Normal file
|
After Width: | Height: | Size: 567 B |
BIN
mastodon/src/main/res/drawable-xxhdpi/ic_ntf_logo.png
Normal file
|
After Width: | Height: | Size: 902 B |
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/gray_800"/>
|
||||
<solid android:color="?colorWindowBackground"/>
|
||||
<corners android:radius="10dp"/>
|
||||
<padding android:top="16dp" android:left="16dp" android:right="16dp" android:bottom="16dp"/>
|
||||
</shape>
|
||||
@@ -2,7 +2,7 @@
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/highlight_over_dark">
|
||||
<item>
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="@color/gray_600"/>
|
||||
<solid android:color="?colorSearchHint"/>
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
23
mastodon/src/main/res/drawable/ic_color_theme_preference.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,22C6.49,22 2,17.51 2,12S6.49,2 12,2s10,4.04 10,9c0,3.31 -2.69,6 -6,6h-1.77c-0.28,0 -0.5,0.22 -0.5,0.5 0,0.12 0.05,0.23 0.13,0.33 0.41,0.47 0.64,1.06 0.64,1.67 0,1.38 -1.12,2.5 -2.5,2.5zM12,4c-4.41,0 -8,3.59 -8,8s3.59,8 8,8c0.28,0 0.5,-0.22 0.5,-0.5 0,-0.16 -0.08,-0.28 -0.14,-0.35 -0.41,-0.46 -0.63,-1.05 -0.63,-1.65 0,-1.38 1.12,-2.5 2.5,-2.5L16,15c2.21,0 4,-1.79 4,-4 0,-3.86 -3.59,-7 -8,-7z"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M6.5,11.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M9.5,7.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M14.5,7.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M17.5,11.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"/>
|
||||
</vector>
|
||||
@@ -4,7 +4,7 @@
|
||||
<item android:width="14dp" android:height="14dp" android:gravity="top|right">
|
||||
<shape android:shape="oval">
|
||||
<stroke android:color="?android:colorPrimary" android:width="2dp"/>
|
||||
<solid android:color="@color/primary_600"/>
|
||||
<solid android:color="?android:colorAccent"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
74
mastodon/src/main/res/drawable/ic_launcher_background.xml
Normal file
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector
|
||||
android:height="108dp"
|
||||
android:width="108dp"
|
||||
android:viewportHeight="108"
|
||||
android:viewportWidth="108"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#3DDC84"
|
||||
android:pathData="M0,0h108v108h-108z"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
</vector>
|
||||
23
mastodon/src/main/res/drawable/ic_launcher_foreground.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<group android:scaleX="2.5091188"
|
||||
android:scaleY="2.5091188">
|
||||
<path
|
||||
android:pathData="M0,0h43.043v43.043h-43.043z"
|
||||
android:strokeWidth="1.53886"
|
||||
android:fillColor="#282c37"/>
|
||||
<path
|
||||
android:pathData="m13.779,16.29c-1.097,0 -1.983,0.387 -2.658,1.141 -0.655,0.754 -0.981,1.771 -0.981,3.053l0,6.27L12.622,26.754L12.622,20.668c0,-1.284 0.539,-1.935 1.618,-1.935 1.192,0 1.791,0.773 1.791,2.3l0,3.331l2.468,0l0,-3.331c0,-1.527 0.598,-2.3 1.791,-2.3 1.078,0 1.618,0.651 1.618,1.935l0,6.085l2.482,0l0,-6.27c0,-1.281 -0.326,-2.299 -0.981,-3.053 -0.676,-0.754 -1.56,-1.141 -2.658,-1.141 -1.27,0 -2.232,0.488 -2.868,1.466L17.265,18.794 16.646,17.756C16.01,16.778 15.049,16.29 13.779,16.29Z"
|
||||
android:strokeWidth="0.796"
|
||||
android:fillColor="#eed7f4"/>
|
||||
<path
|
||||
android:pathData="m29.087,26.754q-1.113,0 -1.986,-0.493 -0.873,-0.507 -1.366,-1.366 -0.479,-0.873 -0.479,-1.958 0,-1.07 0.479,-1.944 0.493,-0.873 1.366,-1.366 0.873,-0.507 1.986,-0.507 1.099,0 1.972,0.507 0.873,0.493 1.352,1.366 0.493,0.873 0.493,1.944 0,1.085 -0.493,1.958 -0.479,0.859 -1.352,1.366 -0.873,0.493 -1.972,0.493zM29.087,25.049q0.535,0 0.986,-0.254 0.451,-0.254 0.718,-0.732 0.268,-0.479 0.268,-1.127 0,-0.634 -0.268,-1.113 -0.268,-0.479 -0.718,-0.732 -0.451,-0.254 -0.986,-0.254 -0.535,0 -0.986,0.254 -0.451,0.254 -0.732,0.732 -0.268,0.479 -0.268,1.113 0,0.634 0.268,1.127 0.282,0.479 0.732,0.732 0.451,0.254 0.986,0.254z"
|
||||
android:strokeWidth="0.687"
|
||||
android:fillColor="#eed7f4"
|
||||
android:strokeColor="#00000000"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,10 +0,0 @@
|
||||
<vector android:height="24dp" android:viewportHeight="320"
|
||||
android:viewportWidth="320" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<group android:rotation="90" android:translateX="304" android:translateY="16" android:scaleX=".9" android:scaleY=".9">
|
||||
<clip-path android:pathData="M0,0 0,320 320,320 320,0">
|
||||
<path android:fillColor="#fff" android:pathData="M331.17,455.15c-0.9,-16.19 -2.47,-32.4 -4,-48.56 -0.18,-1.83 -0.35,-3.66 -0.53,-5.49 0,-0.4 -0.07,-0.79 -0.11,-1.19 -0.23,-2.39 -0.45,-4.79 -0.67,-7.18q-1.17,-12.75 -2.2,-25.6c-1,-12.83 -2,-25.72 -3,-38.63q-0.5,-6.45 -1,-12.91c-1.36,-17.23 -2.81,-34.48 -4.56,-51.69 -2.47,-24.15 -5.54,-48.22 -9.8,-72a13.13,13.13 0,0 0,-2 1c-18.27,11.86 -31.15,63.65 -38.89,82.19a2.7,2.7 0,0 1,-5.18 -0.79c-0.53,-5.37 -0.76,-10.78 -0.77,-16.2v-1.05a303.5,303.5 0,0 1,7.59 -65.79c4.46,-19.78 9.28,-44 23.15,-59.59 0.23,-0.26 1.83,-1.9 1.83,-1.9 -3,-14.17 -14.66,-42.19 -14.67,-42.2a136.07,136.07 0,0 0,-12.61 -25.07C242.82,29.09 204.46,0 166.47,0a70.43,70.43 0,0 0,-16.56 1.94c-39.17,9.42 -70.55,53.52 -88.75,87C40.69,126.5 29.93,168.34 20.1,209.72 5.32,271.87 -2.82,335.37 -8.77,398.91 -13.67,451.32 -30.7,510 22.87,541.51c24.5,14.41 53.18,23.56 81.15,28.16a213.92,213.92 0,0 0,34.86 2.51c10.31,0 20.64,-0.47 30.93,-0.95l108.72,-5c1.57,-0.07 3.2,-0.12 4.83,-0.12 8.69,0 17.78,1.42 22.39,8.4 0.55,-5.81 -4.53,-15.25 -10.6,-25.33l12.44,-2.81c0.31,-10 1.32,-17.53 5.46,-11.76 2,2.84 4.78,6 8.24,5.55 4.06,-0.49 5.79,-5.35 6.52,-9.37C332.36,505.83 332.59,480.52 331.17,455.15ZM168.3,538.52c-9.72,0.45 -19.77,0.91 -29.42,0.91a180.1,180.1 0,0 1,-29.54 -2.07C83.06,533 58.9,524.71 39.48,513.28c-12.37,-7.27 -18.39,-16 -20.79,-30 -2.74,-16 -0.24,-36.07 2.41,-57.29 1,-7.83 2,-15.93 2.74,-24C30.92,326.23 39.59,269.28 52,217.29c9.57,-40.22 19.67,-79.12 38,-112.74 21.38,-39.27 46.67,-65.73 67.64,-70.77a37.8,37.8 0,0 1,8.91 -1c14.5,0 31.71,7.73 47.22,21.2C228.67,67 240.3,83.72 245,99c-11.69,29.46 -22.95,68.57 -27.31,96.85C206,271.74 198.13,413.31 201.13,537Z"/>
|
||||
<path android:fillColor="#fff" android:pathData="M177.15,182.12a30.01,18.34 97.5,1 0,7.83 -59.51a30.01,18.34 97.5,1 0,-7.83 59.51z"/>
|
||||
<path android:fillColor="#fff" android:pathData="M0,320 320,320 288,288 32,288"/>
|
||||
</clip-path>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -4,7 +4,7 @@
|
||||
<item android:width="14dp" android:height="14dp" android:gravity="top|right">
|
||||
<shape android:shape="oval">
|
||||
<stroke android:color="?android:colorPrimary" android:width="2dp"/>
|
||||
<solid android:color="@color/primary_600"/>
|
||||
<solid android:color="?android:colorAccent"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
5
mastodon/src/main/res/drawable/ic_translate_off.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<vector android:height="24dp" android:tint="#000000"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="?colorSecondary" android:pathData="M20,5h-9.12L10,2L4,2c-1.1,0 -2,0.9 -2,2v13c0,1.1 0.9,2 2,2h7l1,3h8c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2zM7.17,14.59c-2.25,0 -4.09,-1.83 -4.09,-4.09s1.83,-4.09 4.09,-4.09c1.04,0 1.99,0.37 2.74,1.07l0.07,0.06 -1.23,1.18 -0.06,-0.05c-0.29,-0.27 -0.78,-0.59 -1.52,-0.59 -1.31,0 -2.38,1.09 -2.38,2.42s1.07,2.42 2.38,2.42c1.37,0 1.96,-0.87 2.12,-1.46L7.08,11.46L7.08,9.91h3.95l0.01,0.07c0.04,0.21 0.05,0.4 0.05,0.61 0,2.35 -1.61,4 -3.92,4zM13.2,12.88c0.33,0.6 0.74,1.18 1.19,1.7l-0.54,0.53 -0.65,-2.23zM13.97,12.12h-0.99l-0.31,-1.04h3.99s-0.34,1.31 -1.56,2.74c-0.52,-0.62 -0.89,-1.23 -1.13,-1.7zM21,20c0,0.55 -0.45,1 -1,1h-7l2,-2 -0.81,-2.77 0.92,-0.92L17.79,18l0.73,-0.73 -2.71,-2.68c0.9,-1.03 1.6,-2.25 1.92,-3.51L19,11.08v-1.04h-3.64L15.36,9h-1.04v1.04h-1.96L11.18,6L20,6c0.55,0 1,0.45 1,1v13z"/>
|
||||
</vector>
|
||||
5
mastodon/src/main/res/drawable/ic_translate_on.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<vector android:height="24dp" android:tint="#000000"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="?colorSecondary" android:pathData="M21,4L11,4l-1,-3L3,1c-1.1,0 -2,0.9 -2,2v15c0,1.1 0.9,2 2,2h8l1,3h9c1.1,0 2,-0.9 2,-2L23,6c0,-1.1 -0.9,-2 -2,-2zM7,16c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5c1.35,0 2.48,0.5 3.35,1.3L9.03,8.57c-0.38,-0.36 -1.04,-0.78 -2.03,-0.78 -1.74,0 -3.15,1.44 -3.15,3.21S5.26,14.21 7,14.21c2.01,0 2.84,-1.44 2.92,-2.41L7,11.8v-1.71h4.68c0.07,0.31 0.12,0.61 0.12,1.02C11.8,13.97 9.89,16 7,16zM13.17,10.58h3.7c-0.43,1.25 -1.11,2.43 -2.05,3.47 -0.31,-0.35 -0.6,-0.72 -0.86,-1.1l-0.79,-2.37zM21.5,20.5c0,0.55 -0.45,1 -1,1L14,21.5l2,-2.5 -1.04,-3.1 3.1,3.1 0.92,-0.92 -3.3,-3.25 0.02,-0.02c1.13,-1.25 1.93,-2.69 2.4,-4.22L20,10.59v-1.3h-4.53L15.47,8h-1.29v1.29h-1.44L11.46,5.5h9.04c0.55,0 1,0.45 1,1v14z"/>
|
||||
</vector>
|
||||
@@ -1,9 +1,31 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="110dp"
|
||||
android:height="18dp"
|
||||
android:viewportWidth="110"
|
||||
android:viewportHeight="18">
|
||||
android:width="109.08dp"
|
||||
android:height="18.02dp"
|
||||
android:viewportWidth="109.08"
|
||||
android:viewportHeight="18.02">
|
||||
<path
|
||||
android:pathData="M18.406,9.999V17.878H15.287V10.231C15.287,8.618 14.609,7.8 13.254,7.8C11.755,7.8 11.004,8.771 11.004,10.69V14.876H7.903V10.69C7.903,8.771 7.151,7.8 5.653,7.8C4.297,7.8 3.619,8.618 3.619,10.231V17.878H0.5V9.999C0.5,8.389 0.91,7.109 1.733,6.162C2.581,5.215 3.693,4.73 5.072,4.73C6.668,4.73 7.877,5.344 8.676,6.572L9.453,7.876L10.23,6.572C11.029,5.344 12.238,4.73 13.834,4.73C15.214,4.73 16.325,5.215 17.174,6.162C17.997,7.109 18.406,8.389 18.406,9.999ZM29.152,13.916C29.795,13.235 30.105,12.378 30.105,11.345C30.105,10.311 29.795,9.454 29.152,8.798C28.532,8.118 27.745,7.79 26.791,7.79C25.838,7.79 25.051,8.118 24.431,8.798C23.811,9.454 23.501,10.311 23.501,11.345C23.501,12.378 23.811,13.235 24.431,13.916C25.051,14.571 25.838,14.899 26.791,14.899C27.745,14.899 28.532,14.571 29.152,13.916ZM30.105,5.042H33.181V17.647H30.105V16.16C29.176,17.395 27.888,18 26.219,18C24.622,18 23.263,17.37 22.118,16.084C20.998,14.798 20.426,13.21 20.426,11.345C20.426,9.504 20.998,7.916 22.118,6.63C23.263,5.345 24.622,4.689 26.219,4.689C27.888,4.689 29.176,5.294 30.105,6.529V5.042ZM43.528,11.118C44.434,11.798 44.888,12.756 44.864,13.966C44.864,15.252 44.41,16.26 43.481,16.966C42.551,17.647 41.431,18 40.072,18C37.616,18 35.947,16.992 35.065,15L37.735,13.412C38.093,14.496 38.879,15.05 40.072,15.05C41.168,15.05 41.717,14.697 41.717,13.966C41.717,13.437 41.001,12.958 39.547,12.58C38.999,12.429 38.546,12.277 38.188,12.151C37.688,11.95 37.258,11.723 36.901,11.445C36.019,10.765 35.566,9.857 35.566,8.698C35.566,7.462 35.995,6.479 36.853,5.773C37.735,5.042 38.808,4.689 40.095,4.689C42.146,4.689 43.648,5.571 44.625,7.361L42.003,8.874C41.621,8.017 40.978,7.588 40.095,7.588C39.166,7.588 38.713,7.941 38.713,8.622C38.713,9.151 39.428,9.63 40.882,10.008C42.003,10.26 42.885,10.639 43.528,11.118ZM53.304,8.168H50.61V13.412C50.61,14.042 50.848,14.42 51.301,14.597C51.635,14.723 52.303,14.748 53.304,14.697V17.647C51.23,17.899 49.728,17.698 48.846,17.017C47.964,16.361 47.534,15.151 47.534,13.412V8.168H45.46V5.042H47.534V2.496L50.61,1.513V5.042H53.304V8.168ZM63.103,13.84C63.723,13.185 64.033,12.353 64.033,11.344C64.033,10.336 63.723,9.504 63.103,8.849C62.483,8.193 61.721,7.866 60.791,7.866C59.861,7.866 59.098,8.193 58.478,8.849C57.882,9.529 57.572,10.361 57.572,11.344C57.572,12.328 57.882,13.16 58.478,13.84C59.098,14.496 59.861,14.823 60.791,14.823C61.721,14.823 62.483,14.496 63.103,13.84ZM56.308,16.084C55.093,14.798 54.497,13.235 54.497,11.344C54.497,9.479 55.093,7.916 56.308,6.63C57.524,5.345 59.026,4.689 60.791,4.689C62.555,4.689 64.057,5.345 65.273,6.63C66.489,7.916 67.109,9.504 67.109,11.344C67.109,13.21 66.489,14.798 65.273,16.084C64.057,17.37 62.579,18 60.791,18C59.002,18 57.524,17.37 56.308,16.084ZM77.385,13.916C78.005,13.235 78.314,12.378 78.314,11.345C78.314,10.311 78.005,9.454 77.385,8.798C76.765,8.118 75.978,7.79 75.024,7.79C74.071,7.79 73.284,8.118 72.64,8.798C72.021,9.454 71.71,10.311 71.71,11.345C71.71,12.378 72.021,13.235 72.64,13.916C73.284,14.571 74.094,14.899 75.024,14.899C75.978,14.899 76.765,14.571 77.385,13.916ZM78.314,0H81.39V17.647H78.314V16.16C77.409,17.395 76.121,18 74.452,18C72.855,18 71.472,17.37 70.328,16.084C69.207,14.798 68.635,13.21 68.635,11.345C68.635,9.504 69.207,7.916 70.328,6.63C71.472,5.345 72.855,4.689 74.452,4.689C76.121,4.689 77.409,5.294 78.314,6.529V0ZM92.191,13.84C92.811,13.185 93.12,12.353 93.12,11.344C93.12,10.336 92.811,9.504 92.191,8.849C91.571,8.193 90.808,7.866 89.878,7.866C88.948,7.866 88.185,8.193 87.565,8.849C86.969,9.529 86.659,10.361 86.659,11.344C86.659,12.328 86.969,13.16 87.565,13.84C88.185,14.496 88.948,14.823 89.878,14.823C90.808,14.823 91.571,14.496 92.191,13.84ZM85.396,16.084C84.18,14.798 83.584,13.235 83.584,11.344C83.584,9.479 84.18,7.916 85.396,6.63C86.612,5.345 88.114,4.689 89.878,4.689C91.642,4.689 93.144,5.345 94.36,6.63C95.576,7.916 96.196,9.504 96.196,11.344C96.196,13.21 95.576,14.798 94.36,16.084C93.144,17.37 91.666,18 89.878,18C88.09,18 86.612,17.37 85.396,16.084ZM109.5,9.908V17.647H106.424V10.311C106.424,9.479 106.21,8.849 105.781,8.37C105.375,7.941 104.803,7.714 104.064,7.714C102.324,7.714 101.442,8.748 101.442,10.84V17.647H98.366V5.042H101.442V6.454C102.181,5.269 103.349,4.689 104.994,4.689C106.305,4.689 107.378,5.143 108.213,6.076C109.071,7.009 109.5,8.269 109.5,9.908Z"
|
||||
android:fillColor="#282C37"/>
|
||||
android:pathData="m26.28,18.02q-1.9,0 -3.38,-0.84 -1.49,-0.86 -2.33,-2.33 -0.82,-1.49 -0.82,-3.34 0,-1.82 0.82,-3.31 0.84,-1.49 2.33,-2.33 1.49,-0.86 3.38,-0.86 1.87,0 3.36,0.86 1.49,0.84 2.3,2.33 0.84,1.49 0.84,3.31 0,1.85 -0.84,3.34 -0.82,1.46 -2.3,2.33 -1.49,0.84 -3.36,0.84zM26.28,15.12q0.91,0 1.68,-0.43 0.77,-0.43 1.22,-1.25 0.46,-0.82 0.46,-1.92 0,-1.08 -0.46,-1.9 -0.46,-0.82 -1.22,-1.25 -0.77,-0.43 -1.68,-0.43 -0.91,0 -1.68,0.43 -0.77,0.43 -1.25,1.25 -0.46,0.82 -0.46,1.9 0,1.08 0.46,1.92 0.48,0.82 1.25,1.25 0.77,0.43 1.68,0.43z"
|
||||
android:fillColor="#282c37"/>
|
||||
<path
|
||||
android:pathData="m39.72,18.02q-2.23,0 -3.62,-0.91 -1.37,-0.91 -1.92,-2.38l2.81,-1.22q0.38,0.86 1.08,1.32 0.72,0.43 1.66,0.43 0.86,0 1.44,-0.26 0.58,-0.29 0.58,-0.91 0,-0.6 -0.53,-0.89 -0.53,-0.31 -1.58,-0.55l-1.44,-0.31q-1.49,-0.36 -2.47,-1.3 -0.98,-0.96 -0.98,-2.38 0,-1.06 0.62,-1.9 0.65,-0.84 1.73,-1.3 1.1,-0.46 2.42,-0.46 3.79,0 5.06,2.66l-2.69,1.18q-0.72,-1.3 -2.3,-1.3 -0.82,0 -1.3,0.31 -0.48,0.29 -0.48,0.74 0,0.86 1.63,1.3l1.8,0.43q1.82,0.46 2.74,1.39 0.94,0.94 0.94,2.3 0,1.18 -0.7,2.09 -0.67,0.89 -1.87,1.39 -1.18,0.5 -2.62,0.5z"
|
||||
android:fillColor="#282c37"/>
|
||||
<path
|
||||
android:pathData="m47.19,0.46h3.14L50.33,4.8l-0.19,2.14h0.19q0.53,-0.86 1.54,-1.39 1.01,-0.53 2.18,-0.53 2.23,0 3.41,1.34 1.2,1.32 1.2,3.67v7.61h-3.14v-7.22q0,-1.18 -0.65,-1.82 -0.62,-0.65 -1.68,-0.65 -1.25,0 -2.06,1.01 -0.79,1.01 -0.79,2.47v6.22h-3.14z"
|
||||
android:fillColor="#282c37"/>
|
||||
<path
|
||||
android:pathData="m63.41,4.06q-0.84,0 -1.44,-0.6 -0.6,-0.6 -0.6,-1.44 0,-0.84 0.6,-1.42 0.6,-0.6 1.44,-0.6 0.84,0 1.42,0.6 0.6,0.58 0.6,1.42 0,0.84 -0.6,1.44 -0.58,0.6 -1.42,0.6zM61.83,5.4h3.14L64.97,17.64h-3.14z"
|
||||
android:fillColor="#282c37"/>
|
||||
<path
|
||||
android:pathData="m73.39,18.02q-1.66,0 -3.02,-0.82 -1.34,-0.84 -2.14,-2.3 -0.77,-1.49 -0.77,-3.38 0,-1.87 0.77,-3.36 0.79,-1.49 2.14,-2.3 1.37,-0.84 3.02,-0.84 1.25,0 2.21,0.55 0.96,0.53 1.46,1.32h0.19l-0.19,-1.73L77.07,0.46h3.12L80.19,17.64h-2.93v-1.46h-0.19q-0.48,0.79 -1.46,1.32 -0.96,0.53 -2.21,0.53zM73.92,15.12q0.89,0 1.66,-0.46 0.77,-0.46 1.22,-1.27 0.46,-0.82 0.46,-1.87 0,-1.06 -0.46,-1.87 -0.46,-0.82 -1.22,-1.25 -0.77,-0.46 -1.66,-0.46 -0.86,0 -1.63,0.46 -0.77,0.43 -1.22,1.25 -0.46,0.82 -0.46,1.87 0,1.06 0.46,1.87 0.46,0.82 1.22,1.27 0.77,0.46 1.63,0.46z"
|
||||
android:fillColor="#282c37"/>
|
||||
<path
|
||||
android:pathData="m89.02,18.02q-1.9,0 -3.38,-0.84 -1.49,-0.86 -2.33,-2.33 -0.82,-1.49 -0.82,-3.34 0,-1.82 0.82,-3.31 0.84,-1.49 2.33,-2.33 1.49,-0.86 3.38,-0.86 1.87,0 3.36,0.86 1.49,0.84 2.3,2.33 0.84,1.49 0.84,3.31 0,1.85 -0.84,3.34 -0.82,1.46 -2.3,2.33 -1.49,0.84 -3.36,0.84zM89.02,15.12q0.91,0 1.68,-0.43 0.77,-0.43 1.22,-1.25 0.46,-0.82 0.46,-1.92 0,-1.08 -0.46,-1.9 -0.46,-0.82 -1.22,-1.25 -0.77,-0.43 -1.68,-0.43 -0.91,0 -1.68,0.43 -0.77,0.43 -1.25,1.25 -0.46,0.82 -0.46,1.9 0,1.08 0.46,1.92 0.48,0.82 1.25,1.25 0.77,0.43 1.68,0.43z"
|
||||
android:fillColor="#282c37"/>
|
||||
<path
|
||||
android:pathData="m97.68,5.4h2.95v1.54h0.19q0.55,-0.89 1.56,-1.39 1.01,-0.53 2.18,-0.53 2.21,0 3.36,1.34 1.15,1.34 1.15,3.67v7.61h-3.14v-7.22q0,-1.18 -0.6,-1.82 -0.6,-0.65 -1.68,-0.65 -1.27,0 -2.06,0.98 -0.77,0.98 -0.77,2.47v6.24h-3.14z"
|
||||
android:fillColor="#282c37"/>
|
||||
<path
|
||||
android:pathData="m4.53,5c-1.37,0 -2.47,0.48 -3.31,1.42C0.41,7.35 0,8.62 0,10.21v7.8h3.09v-7.57c0,-1.6 0.67,-2.41 2.01,-2.41 1.48,0 2.23,0.96 2.23,2.86v4.14h3.07v-4.14c0,-1.9 0.74,-2.86 2.23,-2.86 1.34,0 2.01,0.81 2.01,2.41v7.57h3.09v-7.8c0,-1.59 -0.41,-2.86 -1.22,-3.8 -0.84,-0.94 -1.94,-1.42 -3.31,-1.42 -1.58,0 -2.78,0.61 -3.57,1.82l-0.77,1.29 -0.77,-1.29C7.3,5.6 6.11,5 4.53,5Z"
|
||||
android:strokeWidth="0.990258"
|
||||
android:fillColor="#282c37"/>
|
||||
</vector>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="oval">
|
||||
<stroke android:color="@color/gray_50" android:width="4dp"/>
|
||||
<stroke android:color="?colorSecondary" android:width="4dp"/>
|
||||
<solid android:color="#80000000"/>
|
||||
<size android:width="52dp" android:height="52dp"/>
|
||||
</shape>
|
||||
|
||||
@@ -26,8 +26,20 @@
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginTop="-6dp"
|
||||
android:layout_marginRight="6dp"
|
||||
android:layout_toLeftOf="@id/more"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_toStartOf="@id/more"
|
||||
android:background="?android:selectableItemBackgroundBorderless"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_visibility"
|
||||
android:tint="?android:textColorSecondary" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/translate"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginTop="-6dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_toStartOf="@id/visibility"
|
||||
android:background="?android:selectableItemBackgroundBorderless"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_visibility"
|
||||
@@ -46,7 +58,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_toStartOf="@id/visibility"
|
||||
android:layout_toStartOf="@id/translate"
|
||||
android:layout_toEndOf="@id/avatar">
|
||||
|
||||
<TextView
|
||||
@@ -78,7 +90,7 @@
|
||||
android:layout_height="20dp"
|
||||
android:layout_below="@id/name_wrap"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_toStartOf="@id/visibility"
|
||||
android:layout_toStartOf="@id/translate"
|
||||
android:layout_toEndOf="@id/avatar"
|
||||
android:layoutDirection="locale"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -31,9 +31,10 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="@style/m3_title_medium"
|
||||
android:background="?colorBackgroundLight"
|
||||
android:background="@color/error_900"
|
||||
tools:text="CW title"/>
|
||||
|
||||
|
||||
<View
|
||||
android:id="@+id/border_bottom"
|
||||
android:layout_width="match_parent"
|
||||
@@ -49,6 +50,22 @@
|
||||
android:textSize="16sp"
|
||||
android:textAppearance="@style/m3_body_large"
|
||||
tools:text="setting up my mstdn"/>
|
||||
|
||||
<!-- <Button-->
|
||||
<!-- android:id="@+id/translate"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="32dp"-->
|
||||
<!-- android:background="@drawable/bg_inline_button"-->
|
||||
<!-- android:elevation="0dp"-->
|
||||
<!-- android:ellipsize="middle"-->
|
||||
<!-- android:fontFamily="sans-serif-medium"-->
|
||||
<!-- android:singleLine="true"-->
|
||||
<!-- android:stateListAnimator="@null"-->
|
||||
<!-- android:textColor="?android:textColorPrimary"-->
|
||||
<!-- android:textSize="16sp"-->
|
||||
<!-- tools:text="@string/pink_color" />-->
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
@@ -44,18 +44,19 @@
|
||||
|
||||
<EditText
|
||||
android:id="@+id/search_edit"
|
||||
style="@android:style/Widget.EditText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="textFilter|textNoSuggestions"
|
||||
android:singleLine="true"
|
||||
android:imeOptions="actionGo"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginTop="19dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginBottom="3dp"
|
||||
android:drawableStart="@drawable/ic_fluent_search_20_regular"
|
||||
android:drawablePadding="8dp"
|
||||
android:drawableTint="?android:textColorSecondary"
|
||||
android:hint="@string/search_communities"/>
|
||||
android:hint="@string/search_communities"
|
||||
android:imeOptions="actionGo"
|
||||
android:inputType="textFilter|textNoSuggestions"
|
||||
android:singleLine="true" />
|
||||
|
||||
</LinearLayout>
|
||||
46
mastodon/src/main/res/layout/item_settings_color_picker.xml
Normal file
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<org.joinmastodon.android.ui.views.AutoOrientationLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layoutDirection="locale">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="32dp"
|
||||
android:importantForAccessibility="no"
|
||||
android:tint="?android:textColorPrimary"
|
||||
tools:src="@drawable/ic_color_theme_preference"/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="16sp"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:text="@string/settings_color_picker"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/color_picker_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/bg_inline_button"
|
||||
android:elevation="0dp"
|
||||
android:ellipsize="middle"
|
||||
android:fontFamily="sans-serif-medium"
|
||||
android:singleLine="true"
|
||||
android:stateListAnimator="@null"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="16sp"
|
||||
tools:text="@string/pink_color" />
|
||||
|
||||
</org.joinmastodon.android.ui.views.AutoOrientationLinearLayout>
|
||||
9
mastodon/src/main/res/menu/color_picker.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/purple_color" android:title="@string/purple_color"/>
|
||||
<item android:id="@+id/pink_color" android:title="@string/pink_color"/>
|
||||
<item android:id="@+id/green_color" android:title="@string/green_color"/>
|
||||
<item android:id="@+id/blue_color" android:title="@string/blue_color"/>
|
||||
<item android:id="@+id/orange_color" android:title="@string/orange_color"/>
|
||||
<item android:id="@+id/yellow_color" android:title="@string/yellow_color"/>
|
||||
</menu>
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
|
||||
<background android:drawable="@color/shortcut_icon_background"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
|
||||
<background android:drawable="@color/shortcut_icon_background"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 147 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 11 KiB |
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="shortcut_icon_background">@color/gray_700</color>
|
||||
<color name="shortcut_icon_foreground">@color/primary_600</color>
|
||||
<color name="shortcut_icon_foreground">@color/original_primary_600</color>
|
||||
</resources>
|
||||
@@ -2,4 +2,19 @@
|
||||
<resources>
|
||||
<style name="Theme.Mastodon.AutoLightDark" parent="Theme.Mastodon.Dark"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack" parent="Theme.Mastodon.Dark.TrueBlack"/>
|
||||
|
||||
<style name="Theme.Mastodon.AutoLightDark.Original" parent="Theme.Mastodon.Dark.Original"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Original" parent="Theme.Mastodon.Dark.TrueBlack.Original"/>
|
||||
|
||||
<style name="Theme.Mastodon.AutoLightDark.Green" parent="Theme.Mastodon.Dark.Green"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Green" parent="Theme.Mastodon.Dark.TrueBlack.Green"/>
|
||||
|
||||
<style name="Theme.Mastodon.AutoLightDark.Blue" parent="Theme.Mastodon.Dark.Blue"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Blue" parent="Theme.Mastodon.Dark.TrueBlack.Blue"/>
|
||||
|
||||
<style name="Theme.Mastodon.AutoLightDark.Orange" parent="Theme.Mastodon.Dark.Orange"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Orange" parent="Theme.Mastodon.Dark.TrueBlack.Orange"/>
|
||||
|
||||
<style name="Theme.Mastodon.AutoLightDark.Yellow" parent="Theme.Mastodon.Dark.Yellow"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Yellow" parent="Theme.Mastodon.Dark.TrueBlack.Yellow"/>
|
||||
</resources>
|
||||
@@ -22,7 +22,7 @@
|
||||
<string name="time_hours">%dh</string>
|
||||
<string name="time_days">%dd</string>
|
||||
<string name="share_toot_title">Compartilhar</string>
|
||||
<string name="settings">Confirgurações</string>
|
||||
<string name="settings">Configurações</string>
|
||||
<string name="publish">Publicar</string>
|
||||
<string name="discard_draft">Descartar rascunho?</string>
|
||||
<string name="discard">Descartar</string>
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="navigation_bar_bg">@color/gray_50</color>
|
||||
<color name="green_navigation_bar_bg">@color/green_gray_50</color>
|
||||
<color name="blue_navigation_bar_bg">@color/blue_gray_50</color>
|
||||
<color name="orange_navigation_bar_bg">@color/orange_gray_50</color>
|
||||
<color name="yellow_navigation_bar_bg">@color/yellow_gray_50</color>
|
||||
</resources>
|
||||
@@ -30,6 +30,123 @@
|
||||
<color name="primary_700">#d92aad</color>
|
||||
<color name="primary_800">#ae218a</color>
|
||||
<color name="primary_900">#6d1556</color>
|
||||
|
||||
<color name="original_primary_25">#fafaff</color>
|
||||
<color name="original_primary_50">#f4f3ff</color>
|
||||
<color name="original_primary_100">#ebebff</color>
|
||||
<color name="original_primary_200">#d7d7ff</color>
|
||||
<color name="original_primary_300">#c2c2ff</color>
|
||||
<color name="original_primary_400">#9999ff</color>
|
||||
<color name="original_primary_500">#6364ff</color>
|
||||
<color name="original_primary_600">#562cfc</color>
|
||||
<color name="original_primary_700">#431cbb</color>
|
||||
<color name="original_primary_800">#2f0c7a</color>
|
||||
<color name="original_primary_900">#17063b</color>
|
||||
|
||||
<color name="green_primary_25">#fafaff</color>
|
||||
<color name="green_primary_50">#d1feaf</color>
|
||||
<color name="green_primary_100">#bbf294</color>
|
||||
<color name="green_primary_200">#a0d57b</color>
|
||||
<color name="green_primary_300">#85b962</color>
|
||||
<color name="green_primary_400">#6c9e4b</color>
|
||||
<color name="green_primary_500">#528232</color>
|
||||
<color name="green_primary_600">#3b6a1c</color>
|
||||
<color name="green_primary_700">#245103</color>
|
||||
<color name="green_primary_800">#163800</color>
|
||||
<color name="green_primary_900">#0a2100</color>
|
||||
|
||||
<color name="blue_primary_25">#fafaff</color>
|
||||
<color name="blue_primary_50">#e8f2ff</color>
|
||||
<color name="blue_primary_100">#cee5ff</color>
|
||||
<color name="blue_primary_200">#97cbff</color>
|
||||
<color name="blue_primary_300">#65b1f4</color>
|
||||
<color name="blue_primary_400">#4796d7</color>
|
||||
<color name="blue_primary_500">#227bba</color>
|
||||
<color name="blue_primary_600">#00639b</color>
|
||||
<color name="blue_primary_700">#004a76</color>
|
||||
<color name="blue_primary_800">#003354</color>
|
||||
<color name="blue_primary_900">#001d33</color>
|
||||
|
||||
<color name="orange_primary_25">#fafaff</color>
|
||||
<color name="orange_primary_50">#ffeedf</color>
|
||||
<color name="orange_primary_100">#ffdcbb</color>
|
||||
<color name="orange_primary_200">#ffb869</color>
|
||||
<color name="orange_primary_300">#e89a3b</color>
|
||||
<color name="orange_primary_400">#c98121</color>
|
||||
<color name="orange_primary_500">#a96700</color>
|
||||
<color name="orange_primary_600">#885200</color>
|
||||
<color name="orange_primary_700">#673d00</color>
|
||||
<color name="orange_primary_800">#482900</color>
|
||||
<color name="orange_primary_900">#2b1700</color>
|
||||
|
||||
<color name="yellow_primary_25">#fafaff</color>
|
||||
<color name="yellow_primary_50">#fff0ca</color>
|
||||
<color name="yellow_primary_100">#ffe084</color>
|
||||
<color name="yellow_primary_200">#e8c349</color>
|
||||
<color name="yellow_primary_300">#cba82f</color>
|
||||
<color name="yellow_primary_400">#ae8d10</color>
|
||||
<color name="yellow_primary_500">#8f7300</color>
|
||||
<color name="yellow_primary_600">#735c00</color>
|
||||
<color name="yellow_primary_700">#574500</color>
|
||||
<color name="yellow_primary_800">#3c2f00</color>
|
||||
<color name="yellow_primary_900">#231b00</color>
|
||||
|
||||
<color name="custom_gray_900">#000000</color>
|
||||
<color name="custom_gray_800t">#cc171717</color>
|
||||
<color name="custom_gray_800">#171717</color>
|
||||
<color name="custom_gray_700">#191919</color>
|
||||
<color name="custom_gray_600">#212121</color>
|
||||
<color name="custom_gray_500">#242424</color>
|
||||
|
||||
<!-- Old Colors:-->
|
||||
<!-- <color name="green_gray_400">#8f918e</color>-->
|
||||
<!-- <color name="green_gray_300">#a9aca8</color>-->
|
||||
<!-- <color name="green_gray_200">#c5c7c3</color>-->
|
||||
<!-- <color name="green_gray_100">#e1e3df</color>-->
|
||||
<!-- <color name="green_gray_50t">#eff1ed</color>-->
|
||||
<!-- <color name="green_gray_50">#eff1ed</color>-->
|
||||
<!-- <color name="green_gray_25">#f7f8fa</color>-->
|
||||
|
||||
<!-- <color name="blue_gray_400">#919191</color>-->
|
||||
<!-- <color name="blue_gray_300">#ababab</color>-->
|
||||
<!-- <color name="blue_gray_200">#c6c6c6</color>-->
|
||||
<!-- <color name="blue_gray_100">#e2e2e2</color>-->
|
||||
<!-- <color name="blue_gray_50t">#f1f1f1</color>-->
|
||||
<!-- <color name="blue_gray_50">#f1f1f1</color>-->
|
||||
<!-- <color name="blue_gray_25">#f7f8fa</color>-->
|
||||
|
||||
<color name="green_gray_400">#a2b095</color>
|
||||
<color name="green_gray_300">#bdcbaf</color>
|
||||
<color name="green_gray_200">#d9e7ca</color>
|
||||
<color name="green_gray_100">#d9e7ca</color>
|
||||
<color name="green_gray_50t">#cce8f8d8</color>
|
||||
<color name="green_gray_50">#e8f5d8</color>
|
||||
<color name="green_gray_25">#f7f8fa</color>
|
||||
|
||||
<color name="blue_gray_400">#9eadbe</color>
|
||||
<color name="blue_gray_300">#b9c8da</color>
|
||||
<color name="blue_gray_200">#d5e4f7</color>
|
||||
<color name="blue_gray_100">#e8f2ff</color>
|
||||
<color name="blue_gray_50t">#cce8f2ff</color>
|
||||
<color name="blue_gray_50">#e8f2ff</color>
|
||||
<color name="blue_gray_25">#f7f8fa</color>
|
||||
|
||||
<color name="orange_gray_400">#c3a689</color>
|
||||
<color name="orange_gray_300">#e0c1a3</color>
|
||||
<color name="orange_gray_200">#feddbd</color>
|
||||
<color name="orange_gray_100">#ffeedf</color>
|
||||
<color name="orange_gray_50t">#ccffeedf</color>
|
||||
<color name="orange_gray_50">#ffeedf</color>
|
||||
<color name="orange_gray_25">#f7f8fa</color>
|
||||
|
||||
<color name="yellow_gray_400">#b8aa87</color>
|
||||
<color name="yellow_gray_300">#d4c5a1</color>
|
||||
<color name="yellow_gray_200">#f1e1bb</color>
|
||||
<color name="yellow_gray_100">#fff0ca</color>
|
||||
<color name="yellow_gray_50t">#ccfff0ca</color>
|
||||
<color name="yellow_gray_50">#fff0ca</color>
|
||||
<color name="yellow_gray_25">#f7f8fa</color>
|
||||
|
||||
<color name="error_25">#FFFBFA</color>
|
||||
<color name="error_50">#FEF3F2</color>
|
||||
<color name="error_100">#FEE4E2</color>
|
||||
@@ -93,8 +210,7 @@
|
||||
|
||||
<color name="favorite_selected">@color/warning_500</color>
|
||||
<color name="bookmark_selected">@color/success_500</color>
|
||||
<color name="boost_selected">@color/primary_500</color>
|
||||
<color name="boost_selected">?android:colorPrimary</color>
|
||||
|
||||
<color name="shortcut_icon_background">@color/gray_100</color>
|
||||
<color name="shortcut_icon_foreground">@color/primary_700</color>
|
||||
<color name="shortcut_icon_background">#282C37</color>
|
||||
</resources>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name" translatable="false">Megalodon</string>
|
||||
<string name="app_name" translatable="false">Moshidon</string>
|
||||
|
||||
<string name="get_started">Get started</string>
|
||||
<string name="log_in">Log in</string>
|
||||
@@ -427,5 +427,13 @@
|
||||
<string name="your_favorites">Your Favorites</string>
|
||||
<string name="settings_always_reveal_content_warnings">Always reveal content warnings</string>
|
||||
<string name="disable_marquee">Disable scrolling text in title bars</string>
|
||||
<string name="settings_contribute_fork">Contribute to Megalodon</string>
|
||||
<string name="settings_contribute_fork">Contribute to Moshidon</string>
|
||||
<string name="settings_color_picker">Color theme:</string>
|
||||
<string name="pink_color">Pink</string>
|
||||
<string name="purple_color">Purple</string>
|
||||
<string name="green_color">Green</string>
|
||||
<string name="blue_color">Blue</string>
|
||||
<string name="orange_color">Orange</string>
|
||||
<string name="yellow_color">Yellow</string>
|
||||
<string name="translate">Translate</string>
|
||||
</resources>
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
<item name="android:actionOverflowMenuStyle">@style/Widget.Mastodon.PopupMenu</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="Theme.Mastodon.Dark" parent="Theme.AppKit">
|
||||
<!-- needed to disable scrim on API 29+ -->
|
||||
<item name="android:enforceNavigationBarContrast" tools:ignore="NewApi">false</item>
|
||||
@@ -113,6 +114,437 @@
|
||||
<style name="Theme.Mastodon.AutoLightDark" parent="Theme.Mastodon.Light"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack" parent="Theme.Mastodon.Light"/>
|
||||
|
||||
<style name="Theme.Mastodon.Light.CustomBase" parent="Theme.Mastodon.Light">
|
||||
<!-- needed to disable scrim on API 29+ -->
|
||||
<item name="android:colorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorSecondary">@color/custom_gray_500</item>
|
||||
<item name="colorDarkIcon">@color/custom_gray_900</item>
|
||||
<item name="colorSearchHint">@color/custom_gray_600</item>
|
||||
<item name="profileHeaderBackground">@color/custom_gray_500</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.CustomBase" parent="Theme.Mastodon.Dark">
|
||||
<!-- needed to disable scrim on API 29+ -->
|
||||
<item name="android:colorBackground">@color/custom_gray_700</item>
|
||||
<item name="colorButtonText">@color/custom_gray_800</item>
|
||||
<item name="colorBackgroundLight">@color/custom_gray_700</item>
|
||||
<item name="colorBackgroundLightest">@color/custom_gray_900</item>
|
||||
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
|
||||
<item name="colorDarkIcon">@color/gray_25</item>
|
||||
<item name="colorWindowBackground">@color/custom_gray_800</item>
|
||||
<item name="android:statusBarColor">@color/custom_gray_800</item>
|
||||
<item name="android:navigationBarColor">@color/custom_gray_800</item>
|
||||
<item name="colorPollVoted">@color/custom_gray_600</item>
|
||||
<item name="profileHeaderBackground">?colorWindowBackground</item>
|
||||
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.CustomBase</item>
|
||||
|
||||
<!-- TODO dark colors -->
|
||||
<item name="colorSearchField">@color/custom_gray_700</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.TrueBlack.CustomBase">
|
||||
<item name="colorPollVoted">@color/custom_gray_800</item>
|
||||
<item name="colorSearchField">@color/custom_gray_900</item>
|
||||
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
|
||||
<item name="android:navigationBarColor">@color/black</item>
|
||||
<item name="android:colorBackground">@color/black</item>
|
||||
<item name="android:statusBarColor">@color/black</item>
|
||||
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.TrueBlack</item>
|
||||
<item name="colorBackgroundLight">@color/black</item>
|
||||
<item name="colorWindowBackground">@color/black</item>
|
||||
<item name="colorButtonText">@color/black</item>
|
||||
<item name="colorBackgroundLightest">@color/black</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Light.Green" parent="Theme.Mastodon.Light.CustomBase">
|
||||
<item name="android:colorAccent">@color/green_primary_700</item>
|
||||
<item name="android:colorBackground">@color/green_gray_100</item>
|
||||
<item name="colorButtonText">@color/green_gray_50</item>
|
||||
<item name="colorBackgroundLight">@color/green_gray_50</item>
|
||||
<item name="colorBackgroundLightest">@color/green_gray_25</item>
|
||||
<item name="android:statusBarColor">@color/green_gray_50</item>
|
||||
<item name="android:navigationBarColor">@color/green_navigation_bar_bg</item>
|
||||
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Green</item>
|
||||
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Green</item>
|
||||
<item name="colorPollMostVoted">@color/green_primary_500</item>
|
||||
<item name="colorPollVoted">@color/green_gray_300</item>
|
||||
<item name="colorAccentLight">@color/green_primary_600</item>
|
||||
<item name="colorSearchField">@color/green_gray_200</item>
|
||||
<item name="colorTabInactive">@color/green_gray_400</item>
|
||||
<item name="colorAccentLightest">@color/green_primary_100</item>
|
||||
<item name="colorSecondary">@color/green_gray_50</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.Green" parent="Theme.Mastodon.Dark.CustomBase">
|
||||
<item name="android:colorAccent">@color/green_primary_400</item>
|
||||
<item name="android:colorPrimary">@color/green_gray_50</item>
|
||||
<item name="android:textColorPrimary">@color/green_gray_50</item>
|
||||
<item name="android:textColorSecondary">@color/green_gray_400</item>
|
||||
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.Green</item>
|
||||
<item name="colorPollMostVoted">@color/green_primary_700</item>
|
||||
<item name="colorAccentLight">@color/green_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/green_primary_800</item>
|
||||
<item name="colorTabInactive">@color/green_gray_400</item>
|
||||
<item name="colorSearchHint">@color/green_gray_300</item>
|
||||
<item name="colorSecondary">@color/green_gray_50</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.TrueBlack.Green" parent="Theme.Mastodon.Dark.Green">
|
||||
<item name="android:colorAccent">@color/green_primary_400</item>
|
||||
<item name="colorPollMostVoted">@color/green_primary_700</item>
|
||||
<item name="colorAccentLight">@color/green_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/green_primary_800</item>
|
||||
<item name="colorSecondary">@color/green_gray_50</item>
|
||||
|
||||
<item name="colorPollVoted">@color/custom_gray_800</item>
|
||||
<item name="colorSearchField">@color/custom_gray_900</item>
|
||||
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
|
||||
<item name="android:navigationBarColor">@color/black</item>
|
||||
<item name="android:colorBackground">@color/black</item>
|
||||
<item name="android:statusBarColor">@color/black</item>
|
||||
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.TrueBlack</item>
|
||||
<item name="colorBackgroundLight">@color/black</item>
|
||||
<item name="colorWindowBackground">@color/black</item>
|
||||
<item name="colorButtonText">@color/black</item>
|
||||
<item name="colorBackgroundLightest">@color/black</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.AutoLightDark.Green" parent="Theme.Mastodon.Light.Green"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Green" parent="Theme.Mastodon.Light.Green"/>
|
||||
|
||||
<style name="Theme.Mastodon.Dialog.Alert.Dark.Green" parent="android:Theme.Material.Dialog.Alert">
|
||||
<item name="android:windowTitleStyle">@style/alert_title</item>
|
||||
<item name="android:dialogPreferredPadding">24dp</item>
|
||||
<item name="android:windowBackground">@drawable/bg_alert</item>
|
||||
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
|
||||
|
||||
<!-- colors -->
|
||||
<item name="android:colorAccent">@color/green_primary_600</item>
|
||||
<item name="android:colorPrimary">@color/green_gray_50</item>
|
||||
<item name="android:colorBackground">@color/custom_gray_700</item>
|
||||
<item name="android:textColorPrimary">@color/green_gray_50</item>
|
||||
<item name="android:textColorSecondary">@color/green_gray_400</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dialog.Alert.Green" parent="android:Theme.Material.Light.Dialog.Alert">
|
||||
<item name="android:windowTitleStyle">@style/alert_title</item>
|
||||
<item name="android:dialogPreferredPadding">24dp</item>
|
||||
<item name="android:windowBackground">@drawable/bg_alert</item>
|
||||
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
|
||||
|
||||
<!-- colors -->
|
||||
<item name="android:colorAccent">@color/green_primary_700</item>
|
||||
<item name="android:colorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:colorBackground">@color/green_gray_100</item>
|
||||
<item name="android:textColorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorSecondary">@color/custom_gray_500</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Toolbar.Green" parent="android:ThemeOverlay.Material.ActionBar">
|
||||
<item name="android:colorPrimary">@color/green_gray_50</item>
|
||||
<item name="android:textColorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorSecondary">@color/custom_gray_800</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="Theme.Mastodon.Light.Blue" parent="Theme.Mastodon.Light.CustomBase">
|
||||
<item name="android:colorAccent">@color/blue_primary_700</item>
|
||||
<item name="android:colorBackground">@color/blue_gray_100</item>
|
||||
<item name="colorButtonText">@color/blue_gray_50</item>
|
||||
<item name="colorBackgroundLight">@color/blue_gray_50</item>
|
||||
<item name="colorBackgroundLightest">@color/blue_gray_25</item>
|
||||
<item name="android:statusBarColor">@color/blue_gray_50</item>
|
||||
<item name="android:navigationBarColor">@color/blue_navigation_bar_bg</item>
|
||||
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Blue</item>
|
||||
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Blue</item>
|
||||
<item name="colorPollMostVoted">@color/blue_primary_500</item>
|
||||
<item name="colorPollVoted">@color/blue_gray_300</item>
|
||||
<item name="colorAccentLight">@color/blue_primary_600</item>
|
||||
<item name="colorSearchField">@color/blue_gray_200</item>
|
||||
<item name="colorTabInactive">@color/blue_gray_400</item>
|
||||
<item name="colorAccentLightest">@color/blue_primary_100</item>
|
||||
<item name="colorSecondary">@color/blue_gray_50</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.Blue" parent="Theme.Mastodon.Dark.CustomBase">
|
||||
<item name="android:colorAccent">@color/blue_primary_400</item>
|
||||
<item name="android:colorPrimary">@color/blue_gray_50</item>
|
||||
<item name="android:textColorPrimary">@color/blue_gray_50</item>
|
||||
<item name="android:textColorSecondary">@color/blue_gray_400</item>
|
||||
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.Blue</item>
|
||||
<item name="colorPollMostVoted">@color/blue_primary_700</item>
|
||||
<item name="colorAccentLight">@color/blue_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/blue_primary_800</item>
|
||||
<item name="colorTabInactive">@color/blue_gray_400</item>
|
||||
<item name="colorSearchHint">@color/blue_gray_300</item>
|
||||
<item name="colorSecondary">@color/blue_gray_50</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.TrueBlack.Blue" parent="Theme.Mastodon.Dark.Blue">
|
||||
<item name="android:colorAccent">@color/blue_primary_400</item>
|
||||
<item name="colorPollMostVoted">@color/blue_primary_700</item>
|
||||
<item name="colorAccentLight">@color/blue_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/blue_primary_800</item>
|
||||
<item name="colorSecondary">@color/blue_gray_50</item>
|
||||
|
||||
<item name="colorPollVoted">@color/custom_gray_800</item>
|
||||
<item name="colorSearchField">@color/custom_gray_900</item>
|
||||
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
|
||||
<item name="android:navigationBarColor">@color/black</item>
|
||||
<item name="android:colorBackground">@color/black</item>
|
||||
<item name="android:statusBarColor">@color/black</item>
|
||||
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.TrueBlack</item>
|
||||
<item name="colorBackgroundLight">@color/black</item>
|
||||
<item name="colorWindowBackground">@color/black</item>
|
||||
<item name="colorButtonText">@color/black</item>
|
||||
<item name="colorBackgroundLightest">@color/black</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.AutoLightDark.Blue" parent="Theme.Mastodon.Light.Blue"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Blue" parent="Theme.Mastodon.Light.Blue"/>
|
||||
|
||||
<style name="Theme.Mastodon.Dialog.Alert.Dark.Blue" parent="android:Theme.Material.Dialog.Alert">
|
||||
<item name="android:windowTitleStyle">@style/alert_title</item>
|
||||
<item name="android:dialogPreferredPadding">24dp</item>
|
||||
<item name="android:windowBackground">@drawable/bg_alert</item>
|
||||
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
|
||||
|
||||
<!-- colors -->
|
||||
<item name="android:colorAccent">@color/blue_primary_600</item>
|
||||
<item name="android:colorPrimary">@color/blue_gray_50</item>
|
||||
<item name="android:colorBackground">@color/custom_gray_700</item>
|
||||
<item name="android:textColorPrimary">@color/blue_gray_50</item>
|
||||
<item name="android:textColorSecondary">@color/blue_gray_400</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dialog.Alert.Blue" parent="android:Theme.Material.Light.Dialog.Alert">
|
||||
<item name="android:windowTitleStyle">@style/alert_title</item>
|
||||
<item name="android:dialogPreferredPadding">24dp</item>
|
||||
<item name="android:windowBackground">@drawable/bg_alert</item>
|
||||
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
|
||||
|
||||
<!-- colors -->
|
||||
<item name="android:colorAccent">@color/blue_primary_700</item>
|
||||
<item name="android:colorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:colorBackground">@color/blue_gray_100</item>
|
||||
<item name="android:textColorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorSecondary">@color/custom_gray_500</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Toolbar.Blue" parent="android:ThemeOverlay.Material.ActionBar">
|
||||
<item name="android:colorPrimary">@color/blue_gray_50</item>
|
||||
<item name="android:textColorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorSecondary">@color/custom_gray_800</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Light.Orange" parent="Theme.Mastodon.Light.CustomBase">
|
||||
<item name="android:colorAccent">@color/orange_primary_700</item>
|
||||
<item name="android:colorBackground">@color/orange_gray_100</item>
|
||||
<item name="colorButtonText">@color/orange_gray_50</item>
|
||||
<item name="colorBackgroundLight">@color/orange_gray_50</item>
|
||||
<item name="colorBackgroundLightest">@color/orange_gray_25</item>
|
||||
<item name="android:statusBarColor">@color/orange_gray_50</item>
|
||||
<item name="android:navigationBarColor">@color/orange_navigation_bar_bg</item>
|
||||
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Orange</item>
|
||||
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Orange</item>
|
||||
<item name="colorPollMostVoted">@color/orange_primary_500</item>
|
||||
<item name="colorPollVoted">@color/orange_gray_300</item>
|
||||
<item name="colorAccentLight">@color/orange_primary_600</item>
|
||||
<item name="colorSearchField">@color/orange_gray_200</item>
|
||||
<item name="colorTabInactive">@color/orange_gray_400</item>
|
||||
<item name="colorAccentLightest">@color/orange_primary_100</item>
|
||||
<item name="colorSecondary">@color/orange_gray_50</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.Orange" parent="Theme.Mastodon.Dark.CustomBase">
|
||||
<item name="android:colorAccent">@color/orange_primary_400</item>
|
||||
<item name="android:colorPrimary">@color/orange_gray_50</item>
|
||||
<item name="android:textColorPrimary">@color/orange_gray_50</item>
|
||||
<item name="android:textColorSecondary">@color/orange_gray_400</item>
|
||||
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.Orange</item>
|
||||
<item name="colorPollMostVoted">@color/orange_primary_700</item>
|
||||
<item name="colorAccentLight">@color/orange_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/orange_primary_800</item>
|
||||
<item name="colorTabInactive">@color/orange_gray_400</item>
|
||||
<item name="colorSearchHint">@color/orange_gray_300</item>
|
||||
<item name="colorSecondary">@color/orange_gray_50</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.TrueBlack.Orange" parent="Theme.Mastodon.Dark.Orange">
|
||||
<item name="android:colorAccent">@color/orange_primary_400</item>
|
||||
<item name="colorPollMostVoted">@color/orange_primary_700</item>
|
||||
<item name="colorAccentLight">@color/orange_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/orange_primary_800</item>
|
||||
<item name="colorSecondary">@color/orange_gray_50</item>
|
||||
|
||||
<item name="colorPollVoted">@color/custom_gray_800</item>
|
||||
<item name="colorSearchField">@color/custom_gray_900</item>
|
||||
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
|
||||
<item name="android:navigationBarColor">@color/black</item>
|
||||
<item name="android:colorBackground">@color/black</item>
|
||||
<item name="android:statusBarColor">@color/black</item>
|
||||
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.TrueBlack</item>
|
||||
<item name="colorBackgroundLight">@color/black</item>
|
||||
<item name="colorWindowBackground">@color/black</item>
|
||||
<item name="colorButtonText">@color/black</item>
|
||||
<item name="colorBackgroundLightest">@color/black</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.AutoLightDark.Orange" parent="Theme.Mastodon.Light.Orange"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Orange" parent="Theme.Mastodon.Light.Orange"/>
|
||||
|
||||
<style name="Theme.Mastodon.Dialog.Alert.Dark.Orange" parent="android:Theme.Material.Dialog.Alert">
|
||||
<item name="android:windowTitleStyle">@style/alert_title</item>
|
||||
<item name="android:dialogPreferredPadding">24dp</item>
|
||||
<item name="android:windowBackground">@drawable/bg_alert</item>
|
||||
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
|
||||
|
||||
<!-- colors -->
|
||||
<item name="android:colorAccent">@color/orange_primary_600</item>
|
||||
<item name="android:colorPrimary">@color/orange_gray_50</item>
|
||||
<item name="android:colorBackground">@color/custom_gray_700</item>
|
||||
<item name="android:textColorPrimary">@color/orange_gray_50</item>
|
||||
<item name="android:textColorSecondary">@color/orange_gray_400</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dialog.Alert.Orange" parent="android:Theme.Material.Light.Dialog.Alert">
|
||||
<item name="android:windowTitleStyle">@style/alert_title</item>
|
||||
<item name="android:dialogPreferredPadding">24dp</item>
|
||||
<item name="android:windowBackground">@drawable/bg_alert</item>
|
||||
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
|
||||
|
||||
<!-- colors -->
|
||||
<item name="android:colorAccent">@color/orange_primary_700</item>
|
||||
<item name="android:colorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:colorBackground">@color/orange_gray_100</item>
|
||||
<item name="android:textColorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorSecondary">@color/custom_gray_500</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Toolbar.Orange" parent="android:ThemeOverlay.Material.ActionBar">
|
||||
<item name="android:colorPrimary">@color/orange_gray_50</item>
|
||||
<item name="android:textColorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorSecondary">@color/custom_gray_800</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="Theme.Mastodon.Light.Yellow" parent="Theme.Mastodon.Light.CustomBase">
|
||||
<item name="android:colorAccent">@color/yellow_primary_700</item>
|
||||
<item name="android:colorBackground">@color/yellow_gray_100</item>
|
||||
<item name="colorButtonText">@color/yellow_gray_50</item>
|
||||
<item name="colorBackgroundLight">@color/yellow_gray_50</item>
|
||||
<item name="colorBackgroundLightest">@color/yellow_gray_25</item>
|
||||
<item name="android:statusBarColor">@color/yellow_gray_50</item>
|
||||
<item name="android:navigationBarColor">@color/yellow_navigation_bar_bg</item>
|
||||
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Yellow</item>
|
||||
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Yellow</item>
|
||||
<item name="colorPollMostVoted">@color/yellow_primary_500</item>
|
||||
<item name="colorPollVoted">@color/yellow_gray_300</item>
|
||||
<item name="colorAccentLight">@color/yellow_primary_600</item>
|
||||
<item name="colorSearchField">@color/yellow_gray_200</item>
|
||||
<item name="colorTabInactive">@color/yellow_gray_400</item>
|
||||
<item name="colorAccentLightest">@color/yellow_primary_100</item>
|
||||
<item name="colorSecondary">@color/yellow_gray_50</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.Yellow" parent="Theme.Mastodon.Dark.CustomBase">
|
||||
<item name="android:colorAccent">@color/yellow_primary_400</item>
|
||||
<item name="android:colorPrimary">@color/yellow_gray_50</item>
|
||||
<item name="android:textColorPrimary">@color/yellow_gray_50</item>
|
||||
<item name="android:textColorSecondary">@color/yellow_gray_400</item>
|
||||
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.Yellow</item>
|
||||
<item name="colorPollMostVoted">@color/yellow_primary_700</item>
|
||||
<item name="colorAccentLight">@color/yellow_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/yellow_primary_800</item>
|
||||
<item name="colorTabInactive">@color/yellow_gray_400</item>
|
||||
<item name="colorSearchHint">@color/yellow_gray_300</item>
|
||||
<item name="colorSecondary">@color/yellow_gray_50</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.TrueBlack.Yellow" parent="Theme.Mastodon.Dark.Yellow">
|
||||
<item name="android:colorAccent">@color/yellow_primary_400</item>
|
||||
<item name="colorPollMostVoted">@color/yellow_primary_700</item>
|
||||
<item name="colorAccentLight">@color/yellow_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/yellow_primary_800</item>
|
||||
<item name="colorSecondary">@color/yellow_gray_50</item>
|
||||
|
||||
<item name="colorPollVoted">@color/custom_gray_800</item>
|
||||
<item name="colorSearchField">@color/custom_gray_900</item>
|
||||
<item name="colorBackgroundPopup">@color/custom_gray_900</item>
|
||||
<item name="android:navigationBarColor">@color/black</item>
|
||||
<item name="android:colorBackground">@color/black</item>
|
||||
<item name="android:statusBarColor">@color/black</item>
|
||||
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.TrueBlack</item>
|
||||
<item name="colorBackgroundLight">@color/black</item>
|
||||
<item name="colorWindowBackground">@color/black</item>
|
||||
<item name="colorButtonText">@color/black</item>
|
||||
<item name="colorBackgroundLightest">@color/black</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.AutoLightDark.Yellow" parent="Theme.Mastodon.Light.Yellow"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Yellow" parent="Theme.Mastodon.Light.Yellow"/>
|
||||
|
||||
<style name="Theme.Mastodon.Dialog.Alert.Dark.Yellow" parent="android:Theme.Material.Dialog.Alert">
|
||||
<item name="android:windowTitleStyle">@style/alert_title</item>
|
||||
<item name="android:dialogPreferredPadding">24dp</item>
|
||||
<item name="android:windowBackground">@drawable/bg_alert</item>
|
||||
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
|
||||
|
||||
<!-- colors -->
|
||||
<item name="android:colorAccent">@color/yellow_primary_600</item>
|
||||
<item name="android:colorPrimary">@color/yellow_gray_50</item>
|
||||
<item name="android:colorBackground">@color/custom_gray_700</item>
|
||||
<item name="android:textColorPrimary">@color/yellow_gray_50</item>
|
||||
<item name="android:textColorSecondary">@color/yellow_gray_400</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dialog.Alert.Yellow" parent="android:Theme.Material.Light.Dialog.Alert">
|
||||
<item name="android:windowTitleStyle">@style/alert_title</item>
|
||||
<item name="android:dialogPreferredPadding">24dp</item>
|
||||
<item name="android:windowBackground">@drawable/bg_alert</item>
|
||||
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
|
||||
|
||||
<!-- colors -->
|
||||
<item name="android:colorAccent">@color/yellow_primary_700</item>
|
||||
<item name="android:colorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:colorBackground">@color/yellow_gray_100</item>
|
||||
<item name="android:textColorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorSecondary">@color/custom_gray_500</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Toolbar.Yellow" parent="android:ThemeOverlay.Material.ActionBar">
|
||||
<item name="android:colorPrimary">@color/yellow_gray_50</item>
|
||||
<item name="android:textColorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorSecondary">@color/custom_gray_800</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="Theme.Mastodon.Dark.Original" parent="Theme.Mastodon.Dark">
|
||||
<item name="android:colorAccent">@color/original_primary_400</item>
|
||||
<item name="colorPollMostVoted">@color/original_primary_700</item>
|
||||
<item name="colorAccentLight">@color/original_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/original_primary_800</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Dark.TrueBlack.Original" parent="Theme.Mastodon.Dark.TrueBlack">
|
||||
<item name="android:colorAccent">@color/original_primary_400</item>
|
||||
<item name="colorPollMostVoted">@color/original_primary_700</item>
|
||||
<item name="colorAccentLight">@color/original_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/original_primary_800</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Light.Original" parent="Theme.Mastodon.Light">
|
||||
<item name="android:colorAccent">@color/original_primary_400</item>
|
||||
<item name="colorPollMostVoted">@color/original_primary_700</item>
|
||||
<item name="colorAccentLight">@color/original_primary_600</item>
|
||||
<item name="colorAccentLightest">@color/original_primary_800</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.AutoLightDark.Original" parent="Theme.Mastodon.Light.Original"/>
|
||||
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Original" parent="Theme.Mastodon.Light.Original"/>
|
||||
|
||||
|
||||
<style name="Theme.Mastodon.Toolbar" parent="android:ThemeOverlay.Material.ActionBar">
|
||||
<item name="android:colorPrimary">@color/gray_50</item>
|
||||
<item name="android:textColorPrimary">@color/gray_800</item>
|
||||
@@ -125,19 +557,25 @@
|
||||
<item name="android:textColorSecondary">@color/gray_50</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Toolbar.Dark.CustomBase" parent="android:ThemeOverlay.Material.Dark.ActionBar">
|
||||
<item name="android:colorPrimary">@color/custom_gray_800</item>
|
||||
<item name="android:textColorPrimary">@color/gray_50</item>
|
||||
<item name="android:textColorSecondary">@color/gray_50</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Toolbar.Dark.TrueBlack" parent="android:ThemeOverlay.Material.Dark.ActionBar">
|
||||
<item name="android:colorPrimary">@color/black</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Mastodon.Toolbar.Profile">
|
||||
<item name="android:textColorPrimary">@color/gray_50</item>
|
||||
<item name="android:textColorSecondary">@color/gray_50</item>
|
||||
<item name="android:drawableTint">@color/gray_50</item>
|
||||
<item name="android:popupTheme">@style/Theme.Mastodon.AutoLightDark</item>
|
||||
<item name="android:textColorPrimary">?android:colorPrimary</item>
|
||||
<item name="android:textColorSecondary">?android:colorPrimary</item>
|
||||
<item name="android:drawableTint">?android:colorPrimary</item>
|
||||
<item name="android:popupTheme">?android:actionBarTheme</item>
|
||||
<item name="android:titleTextAppearance">@style/m3_title_medium</item>
|
||||
<item name="android:titleTextColor">@color/gray_50</item>
|
||||
<item name="android:titleTextColor">?android:colorPrimary</item>
|
||||
<item name="android:subtitleTextAppearance">@style/m3_body_medium</item>
|
||||
<item name="android:subtitleTextColor">@color/gray_50</item>
|
||||
<item name="android:subtitleTextColor">?android:colorPrimary</item>
|
||||
</style>
|
||||
|
||||
<style name="Widget.Mastodon.Button" parent="android:Widget.Material.Button">
|
||||
@@ -244,6 +682,7 @@
|
||||
<item name="android:popupBackground">@drawable/bg_popup</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="alert_title">
|
||||
<item name="android:textColor">?android:textColorPrimary</item>
|
||||
<item name="android:textSize">24dp</item>
|
||||
|
||||
@@ -6,5 +6,5 @@ dependencyResolutionManagement {
|
||||
mavenLocal()
|
||||
}
|
||||
}
|
||||
rootProject.name = "Megalodon"
|
||||
rootProject.name = "Moshidon"
|
||||
include ':mastodon'
|
||||
|
||||