Compare commits

..

4 Commits

Author SHA1 Message Date
sk22
ede7ece25a Translated using Weblate (German)
Currently translated at 100.0% (7 of 7 strings)

Translation: Megalodon/metadata
Translate-URL: https://translate.codeberg.org/projects/megalodon/metadata/de/
2022-12-07 18:11:14 +00:00
sk22
2db39f8c66 Translated using Weblate (German)
Currently translated at 100.0% (47 of 47 strings)

Translation: Megalodon/values
Translate-URL: https://translate.codeberg.org/projects/megalodon/values/de/
2022-12-07 18:11:13 +00:00
sk
5f0382456f remove upstream fastlane changes 2022-12-07 19:09:13 +01:00
sk
63b1b58c4e use dashes instead of asterisks 2022-12-07 19:05:38 +01:00
94 changed files with 274 additions and 1024 deletions

View File

@@ -1,32 +1,23 @@
![Pink logo with pink shark](mastodon/src/main/res/mipmap-xhdpi/ic_launcher_round.png) ![Pink logo with pink shark](mastodon/src/main/res/mipmap-xhdpi/ic_launcher_round.png)
# Moshidon, the material you mastodon client! # Megalodon
> 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 wont ever be implemented, such as the federated timeline, unlisted posting, bookmarks and an image description viewer. [![Translation status](https://translate.codeberg.org/widgets/megalodon/-/svg-badge.svg)](https://translate.codeberg.org/engage/megalodon/)
 
[![Download latest release](https://img.shields.io/badge/dynamic/json?color=d92aad&label=Download%20APK&query=%24.tag_name&url=https%3A%2F%2Fapi.github.com%2Frepos%2Fsk22%2Fmegalodon%2Freleases%2Flatest&style=flat)](https://github.com/sk22/megalodon/releases/latest/download/megalodon.apk)
<a href="https://play.google.com/store/apps/details?id=org.joinmastodon.android.sk"><img height="50" alt="Get it on Google Play" src="img/google-play-badge.png"></a>
&nbsp;
<a href="https://apt.izzysoft.de/fdroid/index/apk/org.joinmastodon.android.sk"><img height="50" alt="Get it on F-Droid" src="img/f-droid-badge.png"></a>
> 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 wont ever be implemented, such as the federated timeline, unlisted posting and an image description viewer.
[![Download latest release](https://img.shields.io/badge/dynamic/json?color=d92aad&label=download%20apk&query=%24.tag_name&url=https%3A%2F%2Fapi.github.com%2Frepos%2Fsk22%2Fmastodon-android-fork%2Freleases%2Flatest&style=for-the-badge)](https://github.com/LucasGGamerM/moshidon/releases/latest/download/moshidon.apk)
--- ---
## Key features ## Key features
### **Material you theme support on Android 12+ devices!**
### **Translate button**
**Allows you to translate posts in instances with the translate feature!**
**Screenshots**
![Screenshot_20221209-135457_1](https://user-images.githubusercontent.com/71328265/206753830-cdb8bc65-7732-4a6a-8bcd-bbc4ca311d19.png)
![Screenshot_20221209-135409_1](https://user-images.githubusercontent.com/71328265/206753831-7af92a48-d7a5-4780-9beb-90acef4e141b.png)
### **Color themes**
**Allows you to change theme within the app. Supports Purple, pink, green, blue, orange and yellow!**
### **Unlisted posting** ### **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”).** **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”).**
@@ -55,29 +46,63 @@ This is important to **ensure the content youre sharing is as accessible as p
On the Fediverse, its quite common for people to pin posts they want others to read before following them. You can pin/unpin posts yourself by clicking the `⋯` button in the top right corner of your posts. On the Fediverse, its quite common for people to pin posts they want others to read before following them. You can pin/unpin posts yourself by clicking the `⋯` button in the top right corner of your posts.
### **Bookmarks**
**They allow for quickly saving posts and viewing them through the Bookmarks button on the top right of your profile.**
To bookmark a post, press the button between the Favorite and Share buttons on the bottom of the post. Bookmarks are saved privately, so the post authors wont know you saved their post the list of bookmarked posts is only visible to you.
## Installation ## Installation
**Press the download button above to download the APK. Open the downloaded file on your Android device to install it. Moshidon will automatically notify you about new updates inside the app.** ### From app stores
To install this app on your Android device, download the [latest release from GitHub](https://github.com/LucasGGamerM/moshidon/releases/latest/download/moshidon.apk) and open it. You might have to accept installing APK files from your browser when trying to install it. You can also take a look at all releases on the [Releases](https://github.com/LucasGGamerM/moshidon/releases) page. * **[Izzy's F-Droid repository](https://apt.izzysoft.de/fdroid/repo)**: [apt.izzysoft.de/fdroid/index/apk/org.joinmastodon.android.sk](https://apt.izzysoft.de/fdroid/index/apk/org.joinmastodon.android.sk)
Moshidon makes use of [Mastodon for Android](https://github.com/mastodon/mastodon-android)s automatic update checker. Megalodon will check for new updates available on GitHub and offer to download and install them. You can also manually press “Check for updates” at the bottom of the settings page! Note that you'll need to add Izzy's F-Droid repository to your F-Droid app first:
`https://apt.izzysoft.de/fdroid/repo`
* **[Google Play Store](https://play.google.com/store/apps/details?id=org.joinmastodon.android.sk)**: [play.google.com/store/apps/details?id=org.joinmastodon.android.sk](https://play.google.com/store/apps/details?id=org.joinmastodon.android.sk)
* **[F-Droid.org](https://f-droid.org)?** Not yet, sorry!
If you want, you can help me figure out if something's missing in the [Issue #47: F-Droid.org](https://github.com/sk22/megalodon/issues/47)
### Directly from GitHub
Press the download button to download the APK. Open the downloaded file on your Android device to install it. Megalodon will automatically notify you about new updates inside the app.
[![Download latest release](https://img.shields.io/badge/dynamic/json?color=d92aad&label=Download%20APK&query=%24.tag_name&url=https%3A%2F%2Fapi.github.com%2Frepos%2Fsk22%2Fmegalodon%2Freleases%2Flatest&style=flat)](https://github.com/sk22/megalodon/releases/latest/download/megalodon.apk)
You might have to accept installing APK files from your browser when trying to install it. You can also take a look at all releases on the [Releases](https://github.com/sk22/megalodon/releases) page.
Megalodon makes use of [Mastodon for Android](https://github.com/mastodon/mastodon-android)s automatic update checker. Megalodon will check for new updates available on GitHub and offer to download and install them. You can also manually press “Check for updates” at the bottom of the settings page!
---
## Release variants ## Release variants
All downloads can be found on the [Releases](https://github.com/LucasGGamerM/moshidon/releases) page. All downloads can be found on the [Releases](https://github.com/sk22/megalodon/releases) page.
**`moshidon.apk`** **`megalodon.apk`**
Variant with an integrated updater. If you download Megalodon from here (and not from an app store), just download the regular `megalodon.apk`.
**`upstream-1234abc.apk`**
This is an **unmodified version** of the official [Mastodon for Android](https://github.com/mastodon/mastodon-android) app the respective Megalodon release is based on. Should you find any bugs in Megalodon (which you will), try to see if it occurs with this variant, too. The last 7 digits of the file name are important to know which version of the official app you're using.
<!-- **`megalodon-fdroid.apk`**
Variant without the integrated updater. This is the variant to be published to F-Droid.org where an integrated updater is not necessary. -->
---
## Contribution
### Translation
As with the source code, the translation is sourced from the official project, which you can contribute to on the official “**Mastodon for Android**” Crowdin project: https://crowdin.com/project/mastodon-for-android
There's also a handful of custom strings exclusive to this projects that would need to be translated. You can help translate **Megalodon** on Weblate: https://translate.codeberg.org/projects/megalodon/
[![Translation status](https://translate.codeberg.org/widgets/megalodon/-/horizontal-auto.svg)](https://translate.codeberg.org/engage/megalodon/)
Variant with an integrated updater. If you download Moshidon from here (and not from an app store), just download the regular `moshidon.apk`.
--- ---
@@ -106,6 +131,7 @@ Variant with an integrated updater. If you download Moshidon from here (and not
* [Show visibility of original post when replying](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:feature/display-reply-visibility) * [Show visibility of original post when replying](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:feature/display-reply-visibility)
* [Clickable reply/boost line above posts](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:clickable-boost-reply-line) * [Clickable reply/boost line above posts](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:clickable-boost-reply-line)
* [Clickable reply line while replying to open original post](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:feature/clickable-reply-line-compose) * [Clickable reply line while replying to open original post](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:feature/clickable-reply-line-compose)
* [Add push notification setting for post notifications](https://github.com/sk22/megalodon/commit/b190480d7739be47f23543d9e7644660f9b4b4ee)
### Behavior ### Behavior
@@ -117,6 +143,11 @@ Variant with an integrated updater. If you download Moshidon from here (and not
* [Option to hide interaction numbers](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:settings/hide-interaction-numbers) * [Option to hide interaction numbers](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:settings/hide-interaction-numbers)
* [Option to always reveal content warnings](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:feature/cw-above-text) * [Option to always reveal content warnings](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:feature/cw-above-text)
* [Option to disable scrolling title bars](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:settings/disable-marquee) * [Option to disable scrolling title bars](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:settings/disable-marquee)
* [No ellipsis for long poll answers](https://github.com/mastodon/mastodon-android/commit/c9aae828e2518adccdc092e41f8d1f0489636271)
* [Show poll vote button for multiple and single answer polls](https://github.com/mastodon/mastodon-android/commit/e14dfda2fdf32f0fa3043504ac5831683a87559a)
* [Show own vote after voting](https://github.com/mastodon/mastodon-android/commit/4ab9e25fec4fd9c10b7a8ddd1be522b3cc12cf28) ([Closes issue](https://github.com/mastodon/mastodon-android/commit/4ab9e25fec4fd9c10b7a8ddd1be522b3cc12cf28))
* [Make inline emoji search case-insensitive and don't only search from start of emoji names](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:better-inline-emoji-search) ([Pull request](https://github.com/mastodon/mastodon-android/pull/445))
* [Include subject line when sharing e.g. a website to Megalodon](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:external-share-include-subject)
### Visual ### Visual
@@ -124,6 +155,7 @@ Variant with an integrated updater. If you download Moshidon from here (and not
* [Custom extended footer redesign](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:compact-extended-footer) * [Custom extended footer redesign](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:compact-extended-footer)
* [Improvements to the true black mode](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:true-black-improvements) * [Improvements to the true black mode](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:true-black-improvements)
* [Profile header tweaks](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:ui/profile-header-tweaks) * [Profile header tweaks](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:ui/profile-header-tweaks)
* [Custom color themes](https://github.com/sk22/megalodon/pull/124) by [@LucasGGamerM](https://github.com/LucasGGamerM)
## Building ## Building
@@ -140,4 +172,4 @@ This project is released under the [GPL-3 License](./LICENSE).
## Links ## Links
<a rel="me" href="https://floss.social/@moshidon">@moshidon<wbr>@floss.social</a> <a rel="me" href="https://floss.social/@megalodon">@megalodon<wbr>@floss.social</a>

View File

@@ -5,12 +5,12 @@ plugins {
android { android {
compileSdk 33 compileSdk 33
defaultConfig { defaultConfig {
archivesBaseName = "moshidon" archivesBaseName = "megalodon"
applicationId "org.joinmastodon.android.moshinda" applicationId "org.joinmastodon.android.sk"
minSdk 23 minSdk 23
targetSdk 33 targetSdk 33
versionCode 64 versionCode 56
versionName "1.1.4+fork.64.moshinda" versionName "1.1.4+fork.56"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
resConfigs "en", "ar-rSA", "bs-rBA", "ca-rES", "cs-rCZ", "de-rDE", "el-rGR", "es-rES", 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", "eu-rES", "fi-rFI", "fr-rFR", "gl-rES", "hr-rHR", "hy-rAM", "it-rIT", "iw-rIL",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -111,7 +111,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
private void actuallyCheckForUpdates(){ private void actuallyCheckForUpdates(){
Request req=new Request.Builder() Request req=new Request.Builder()
.url("https://api.github.com/repos/LucasGGamerM/moshidon/releases/latest") .url("https://api.github.com/repos/sk22/megalodon/releases/latest")
.build(); .build();
Call call=MastodonAPIController.getHttpClient().newCall(req); Call call=MastodonAPIController.getHttpClient().newCall(req);
try(Response resp=call.execute()){ try(Response resp=call.execute()){
@@ -144,7 +144,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
Log.d(TAG, "actuallyCheckForUpdates: new version: "+version); Log.d(TAG, "actuallyCheckForUpdates: new version: "+version);
for(JsonElement el:obj.getAsJsonArray("assets")){ for(JsonElement el:obj.getAsJsonArray("assets")){
JsonObject asset=el.getAsJsonObject(); JsonObject asset=el.getAsJsonObject();
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())){ 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())){
long size=asset.get("size").getAsLong(); long size=asset.get("size").getAsLong();
String url=asset.get("browser_download_url").getAsString(); String url=asset.get("browser_download_url").getAsString();

View File

@@ -14,12 +14,12 @@
<application <application
android:name=".MastodonApp" android:name=".MastodonApp"
android:allowBackup="true" android:allowBackup="true"
android:label="@string/app_name" android:label="@string/sk_app_name"
android:supportsRtl="true" android:supportsRtl="true"
android:localeConfig="@xml/locales_config" android:localeConfig="@xml/locales_config"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/Theme.Mastodon.AutoLightDark.Original" android:theme="@style/Theme.Mastodon.AutoLightDark"
android:largeHeap="true"> android:largeHeap="true">
<activity android:name=".MainActivity" android:exported="true" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize" android:launchMode="singleTask"> <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"/> <action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/> <category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="moshidon-android-auth" android:host="callback"/> <data android:scheme="megalodon-android-auth" android:host="callback"/>
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name=".ExternalShareActivity" android:exported="true" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize"> <activity android:name=".ExternalShareActivity" android:exported="true" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 358 KiB

View File

@@ -36,7 +36,7 @@ public class GlobalUserPreferences{
disableMarquee=prefs.getBoolean("disableMarquee", false); disableMarquee=prefs.getBoolean("disableMarquee", false);
voteButtonForSingleChoice=prefs.getBoolean("voteButtonForSingleChoice", true); voteButtonForSingleChoice=prefs.getBoolean("voteButtonForSingleChoice", true);
theme=ThemePreference.values()[prefs.getInt("theme", 0)]; theme=ThemePreference.values()[prefs.getInt("theme", 0)];
color=ColorPreference.values()[prefs.getInt("color", 1)]; color=ColorPreference.values()[prefs.getInt("color", 0)];
} }
public static void save(){ public static void save(){
@@ -61,9 +61,8 @@ public class GlobalUserPreferences{
PURPLE, PURPLE,
GREEN, GREEN,
BLUE, BLUE,
ORANGE, BROWN,
YELLOW, YELLOW
MATERIAL3
} }
public enum ThemePreference{ public enum ThemePreference{
@@ -72,3 +71,4 @@ public class GlobalUserPreferences{
DARK DARK
} }
} }

View File

@@ -143,7 +143,7 @@ public class PushNotificationReceiver extends BroadcastReceiver{
.setShowWhen(true) .setShowWhen(true)
.setCategory(Notification.CATEGORY_SOCIAL) .setCategory(Notification.CATEGORY_SOCIAL)
.setAutoCancel(true) .setAutoCancel(true)
.setColor(context.getColor(R.color.shortcut_icon_background)); .setColor(context.getColor(R.color.primary_700));
if(avatar!=null){ if(avatar!=null){
builder.setLargeIcon(UiUtils.getBitmapFromDrawable(avatar)); builder.setLargeIcon(UiUtils.getBitmapFromDrawable(avatar));
} }

View File

@@ -1,17 +0,0 @@
package org.joinmastodon.android.api.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import java.util.List;
public class AddList extends MastodonAPIRequest<Object> {
public AddList(String listName){
super(HttpMethod.POST, "/lists", Object.class);
Request req = new Request();
req.title = listName;
setRequestBody(req);
}
public static class Request{
public String title;
}
}

View File

@@ -1,17 +0,0 @@
package org.joinmastodon.android.api.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import java.util.List;
public class EditListName extends MastodonAPIRequest<Object> {
public EditListName(String newListName, String listId){
super(HttpMethod.PUT, "/lists/"+listId, Object.class);
Request req = new Request();
req.title = newListName;
setRequestBody(req);
}
public static class Request{
public String title;
}
}

View File

@@ -1,10 +0,0 @@
package org.joinmastodon.android.api.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import java.util.List;
public class RemoveList extends MastodonAPIRequest<Object> {
public RemoveList(String listId){
super(HttpMethod.DELETE, "/lists/"+listId, Object.class);
}
}

View File

@@ -11,9 +11,9 @@ public class CreateOAuthApp extends MastodonAPIRequest<Application>{
} }
private static class Request{ private static class Request{
public String clientName="Moshidon"; public String clientName="Megalodon";
public String redirectUris=AccountSessionManager.REDIRECT_URI; public String redirectUris=AccountSessionManager.REDIRECT_URI;
public String scopes=AccountSessionManager.SCOPE; public String scopes=AccountSessionManager.SCOPE;
public String website="https://github.com/LucasGGamerM/moshidon"; public String website="https://sk22.github.io/megalodon";
} }
} }

View File

@@ -1,20 +0,0 @@
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{
}
}

View File

@@ -61,7 +61,7 @@ import me.grishka.appkit.api.ErrorResponse;
public class AccountSessionManager{ public class AccountSessionManager{
private static final String TAG="AccountSessionManager"; private static final String TAG="AccountSessionManager";
public static final String SCOPE="read write follow push"; public static final String SCOPE="read write follow push";
public static final String REDIRECT_URI="moshidon-android-auth://callback"; public static final String REDIRECT_URI="megalodon-android-auth://callback";
private static final AccountSessionManager instance=new AccountSessionManager(); private static final AccountSessionManager instance=new AccountSessionManager();
@@ -211,7 +211,7 @@ public class AccountSessionManager{
.path("/oauth/authorize") .path("/oauth/authorize")
.appendQueryParameter("response_type", "code") .appendQueryParameter("response_type", "code")
.appendQueryParameter("client_id", result.clientId) .appendQueryParameter("client_id", result.clientId)
.appendQueryParameter("redirect_uri", "moshidon-android-auth://callback") .appendQueryParameter("redirect_uri", "megalodon-android-auth://callback")
.appendQueryParameter("scope", SCOPE) .appendQueryParameter("scope", SCOPE)
.build(); .build();

View File

@@ -462,21 +462,6 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
Status status=holder.getItem().status; Status status=holder.getItem().status;
revealSpoiler(status, holder.getItemID()); 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){ protected void revealSpoiler(Status status, String itemID){
status.spoilerRevealed=true; status.spoilerRevealed=true;

View File

@@ -41,7 +41,6 @@ import android.view.WindowManager;
import android.view.animation.LinearInterpolator; import android.view.animation.LinearInterpolator;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText; import android.widget.EditText;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.ImageButton; import android.widget.ImageButton;
@@ -153,8 +152,6 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
private ReorderableLinearLayout pollOptionsView; private ReorderableLinearLayout pollOptionsView;
private View pollWrap; private View pollWrap;
private View addPollOptionBtn; private View addPollOptionBtn;
private View pollAllowMultipleItem;
private CheckBox pollAllowMultipleCheckbox;
private View sensitiveItem; private View sensitiveItem;
private TextView pollDurationView; private TextView pollDurationView;
@@ -300,9 +297,6 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
pollOptionsView=view.findViewById(R.id.poll_options); pollOptionsView=view.findViewById(R.id.poll_options);
pollWrap=view.findViewById(R.id.poll_wrap); pollWrap=view.findViewById(R.id.poll_wrap);
addPollOptionBtn=view.findViewById(R.id.add_poll_option); addPollOptionBtn=view.findViewById(R.id.add_poll_option);
pollAllowMultipleItem=view.findViewById(R.id.poll_allow_multiple);
pollAllowMultipleCheckbox=view.findViewById(R.id.poll_allow_multiple_checkbox);
pollAllowMultipleItem.setOnClickListener(v->this.togglePollAllowMultiple());
addPollOptionBtn.setOnClickListener(v->{ addPollOptionBtn.setOnClickListener(v->{
createDraftPollOption().edit.requestFocus(); createDraftPollOption().edit.requestFocus();
@@ -317,7 +311,6 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
pollBtn.setSelected(true); pollBtn.setSelected(true);
mediaBtn.setEnabled(false); mediaBtn.setEnabled(false);
pollWrap.setVisibility(View.VISIBLE); pollWrap.setVisibility(View.VISIBLE);
updatePollAllowMultiple(savedInstanceState.getBoolean("pollAllowMultiple", false));
for(String oldText:savedInstanceState.getStringArrayList("pollOptions")){ for(String oldText:savedInstanceState.getStringArrayList("pollOptions")){
DraftPollOption opt=createDraftPollOption(); DraftPollOption opt=createDraftPollOption();
opt.edit.setText(oldText); opt.edit.setText(oldText);
@@ -328,7 +321,6 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
pollBtn.setSelected(true); pollBtn.setSelected(true);
mediaBtn.setEnabled(false); mediaBtn.setEnabled(false);
pollWrap.setVisibility(View.VISIBLE); pollWrap.setVisibility(View.VISIBLE);
updatePollAllowMultiple(editingStatus.poll.multiple);
for(Poll.Option eopt:editingStatus.poll.options){ for(Poll.Option eopt:editingStatus.poll.options){
DraftPollOption opt=createDraftPollOption(); DraftPollOption opt=createDraftPollOption();
opt.edit.setText(eopt.title); opt.edit.setText(eopt.title);
@@ -399,7 +391,6 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
outState.putStringArrayList("pollOptions", opts); outState.putStringArrayList("pollOptions", opts);
outState.putInt("pollDuration", pollDuration); outState.putInt("pollDuration", pollDuration);
outState.putString("pollDurationStr", pollDurationStr); outState.putString("pollDurationStr", pollDurationStr);
outState.putBoolean("pollAllowMultiple", pollAllowMultipleItem.isSelected());
} }
outState.putBoolean("sensitive", sensitive); outState.putBoolean("sensitive", sensitive);
outState.putBoolean("hasSpoiler", hasSpoiler); outState.putBoolean("hasSpoiler", hasSpoiler);
@@ -536,14 +527,15 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
ignoreSelectionChanges=true; ignoreSelectionChanges=true;
mainEditText.setSelection(mainEditText.length()); mainEditText.setSelection(mainEditText.length());
ignoreSelectionChanges=false; ignoreSelectionChanges=false;
if(!TextUtils.isEmpty(replyTo.spoilerText) && AccountSessionManager.getInstance().isSelf(accountID, replyTo.account)){ if(!TextUtils.isEmpty(replyTo.spoilerText)){
hasSpoiler=true; hasSpoiler=true;
spoilerEdit.setVisibility(View.VISIBLE); spoilerEdit.setVisibility(View.VISIBLE);
spoilerEdit.setText(replyTo.spoilerText); spoilerEdit.setText(replyTo.spoilerText);
spoilerBtn.setSelected(true); spoilerBtn.setSelected(true);
} }
} }
}else{ }else if (editingStatus==null || editingStatus.inReplyToId==null){
// TODO: remove workaround after https://github.com/mastodon/mastodon-android/issues/341 gets fixed
replyText.setVisibility(View.GONE); replyText.setVisibility(View.GONE);
} }
if(savedInstanceState==null){ if(savedInstanceState==null){
@@ -1216,11 +1208,6 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
option.view=LayoutInflater.from(getActivity()).inflate(R.layout.compose_poll_option, pollOptionsView, false); option.view=LayoutInflater.from(getActivity()).inflate(R.layout.compose_poll_option, pollOptionsView, false);
option.edit=option.view.findViewById(R.id.edit); option.edit=option.view.findViewById(R.id.edit);
option.dragger=option.view.findViewById(R.id.dragger_thingy); option.dragger=option.view.findViewById(R.id.dragger_thingy);
ImageView icon = option.view.findViewById(R.id.icon);
icon.setImageDrawable(getContext().getDrawable(pollAllowMultipleItem.isSelected() ?
R.drawable.ic_poll_checkbox_regular_selector :
R.drawable.ic_poll_option_button
));
option.dragger.setOnLongClickListener(v->{ option.dragger.setOnLongClickListener(v->{
pollOptionsView.startDragging(option.view); pollOptionsView.startDragging(option.view);
@@ -1398,27 +1385,6 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
}); });
} }
private void togglePollAllowMultiple() {
updatePollAllowMultiple(!pollAllowMultipleItem.isSelected());
}
private void updatePollAllowMultiple(boolean multiple){
pollAllowMultipleItem.setSelected(multiple);
pollAllowMultipleCheckbox.setChecked(multiple);
ImageView btn = addPollOptionBtn.findViewById(R.id.add_poll_option_icon);
btn.setImageDrawable(getContext().getDrawable(multiple ?
R.drawable.ic_fluent_add_square_24_regular :
R.drawable.ic_fluent_add_circle_24_regular
));
for (DraftPollOption opt:pollOptions) {
ImageView icon = opt.view.findViewById(R.id.icon);
icon.setImageDrawable(getContext().getDrawable(multiple ?
R.drawable.ic_poll_checkbox_regular_selector :
R.drawable.ic_poll_option_button
));
}
}
@Override @Override
public void onSelectionChanged(int start, int end){ public void onSelectionChanged(int start, int end){
if(ignoreSelectionChanges) if(ignoreSelectionChanges)

View File

@@ -321,9 +321,6 @@ public class HomeTimelineFragment extends StatusListFragment{
toolbarLogo.setScaleType(ImageView.ScaleType.CENTER); toolbarLogo.setScaleType(ImageView.ScaleType.CENTER);
toolbarLogo.setImageResource(R.drawable.logo); toolbarLogo.setImageResource(R.drawable.logo);
toolbarLogo.setImageTintList(ColorStateList.valueOf(UiUtils.getThemeColor(getActivity(), android.R.attr.textColorPrimary))); 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=new Button(getActivity());
toolbarShowNewPostsBtn.setTextAppearance(R.style.m3_title_medium); toolbarShowNewPostsBtn.setTextAppearance(R.style.m3_title_medium);
@@ -351,7 +348,9 @@ public class HomeTimelineFragment extends StatusListFragment{
} }
FrameLayout logoWrap=new FrameLayout(getActivity()); FrameLayout logoWrap=new FrameLayout(getActivity());
logoWrap.addView(toolbarLogo, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.CENTER)); FrameLayout.LayoutParams logoParams=new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.CENTER);
logoParams.setMargins(0, V.dp(2), 0, 0);
logoWrap.addView(toolbarLogo, logoParams);
logoWrap.addView(toolbarShowNewPostsBtn, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, V.dp(32), Gravity.CENTER)); logoWrap.addView(toolbarShowNewPostsBtn, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, V.dp(32), Gravity.CENTER));
Toolbar toolbar=getToolbar(); Toolbar toolbar=getToolbar();

View File

@@ -95,7 +95,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
items.add(new HeaderItem(R.string.settings_theme)); items.add(new HeaderItem(R.string.settings_theme));
items.add(themeItem=new ThemeItem()); items.add(themeItem=new ThemeItem());
items.add(new SwitchItem(R.string.theme_true_black, R.drawable.ic_fluent_dark_theme_24_regular, GlobalUserPreferences.trueBlackTheme, this::onTrueBlackThemeChanged)); items.add(new SwitchItem(R.string.theme_true_black, R.drawable.ic_fluent_dark_theme_24_regular, GlobalUserPreferences.trueBlackTheme, this::onTrueBlackThemeChanged));
items.add(new SwitchItem(R.string.disable_marquee, R.drawable.ic_fluent_text_more_24_regular, GlobalUserPreferences.disableMarquee, i->{ items.add(new SwitchItem(R.string.sk_disable_marquee, R.drawable.ic_fluent_text_more_24_regular, GlobalUserPreferences.disableMarquee, i->{
GlobalUserPreferences.disableMarquee=i.checked; GlobalUserPreferences.disableMarquee=i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));
@@ -114,7 +114,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
GlobalUserPreferences.showInteractionCounts=i.checked; GlobalUserPreferences.showInteractionCounts=i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));
items.add(new SwitchItem(R.string.settings_always_reveal_content_warnings, R.drawable.ic_fluent_chat_warning_24_regular, GlobalUserPreferences.alwaysExpandContentWarnings, i->{ items.add(new SwitchItem(R.string.sk_settings_always_reveal_content_warnings, R.drawable.ic_fluent_chat_warning_24_regular, GlobalUserPreferences.alwaysExpandContentWarnings, i->{
GlobalUserPreferences.alwaysExpandContentWarnings=i.checked; GlobalUserPreferences.alwaysExpandContentWarnings=i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));
@@ -157,11 +157,11 @@ public class SettingsFragment extends MastodonToolbarFragment{
checkForUpdateItem = new TextItem(R.string.sk_check_for_update, GithubSelfUpdater.getInstance()::checkForUpdates); checkForUpdateItem = new TextItem(R.string.sk_check_for_update, GithubSelfUpdater.getInstance()::checkForUpdates);
items.add(checkForUpdateItem); items.add(checkForUpdateItem);
} }
items.add(new TextItem(R.string.settings_contribute_fork, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/LucasGGamerM/moshidon"))); items.add(new TextItem(R.string.sk_settings_contribute, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/sk22/megalodon")));
items.add(new TextItem(R.string.settings_clear_cache, this::clearImageCache)); items.add(new TextItem(R.string.settings_clear_cache, this::clearImageCache));
items.add(new TextItem(R.string.log_out, this::confirmLogOut)); items.add(new TextItem(R.string.log_out, this::confirmLogOut));
items.add(new FooterItem(getString(R.string.settings_app_version, BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE))); items.add(new FooterItem(getString(R.string.sk_settings_app_version, BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE)));
} }
@Override @Override
@@ -237,7 +237,6 @@ public class SettingsFragment extends MastodonToolbarFragment{
} }
private void onColorPreferenceClick(GlobalUserPreferences.ColorPreference color){ private void onColorPreferenceClick(GlobalUserPreferences.ColorPreference color){
GlobalUserPreferences.color=color; GlobalUserPreferences.color=color;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
restartActivityToApplyNewTheme(); restartActivityToApplyNewTheme();
@@ -697,23 +696,14 @@ public class SettingsFragment extends MastodonToolbarFragment{
pref = GlobalUserPreferences.ColorPreference.BLUE; pref = GlobalUserPreferences.ColorPreference.BLUE;
onColorPreferenceClick(pref); onColorPreferenceClick(pref);
} }
else if(id==R.id.orange_color) { else if(id==R.id.brown_color) {
pref = GlobalUserPreferences.ColorPreference.ORANGE; pref = GlobalUserPreferences.ColorPreference.BROWN;
onColorPreferenceClick(pref); onColorPreferenceClick(pref);
} }
else if(id==R.id.yellow_color) { else if(id==R.id.yellow_color) {
pref = GlobalUserPreferences.ColorPreference.YELLOW; pref = GlobalUserPreferences.ColorPreference.YELLOW;
onColorPreferenceClick(pref); onColorPreferenceClick(pref);
} }
else if(id==R.id.m3_color) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
pref = GlobalUserPreferences.ColorPreference.MATERIAL3;
onColorPreferenceClick(pref);
}else{
Toast.makeText(getActivity(), R.string.sk_not_supported,
Toast.LENGTH_LONG).show();
}
}
else else
return false; return false;
return true; return true;
@@ -725,15 +715,14 @@ public class SettingsFragment extends MastodonToolbarFragment{
@Override @Override
public void onBind(ColorPicker item){ public void onBind(ColorPicker item){
icon.setImageResource(R.drawable.ic_color_theme_preference); icon.setImageResource(R.drawable.ic_fluent_color_24_regular);
button.setText(switch(GlobalUserPreferences.color){ button.setText(switch(GlobalUserPreferences.color){
case PINK -> R.string.sk_color_theme_pink; case PINK -> R.string.sk_color_theme_pink;
case PURPLE -> R.string.sk_color_theme_purple; case PURPLE -> R.string.sk_color_theme_purple;
case GREEN -> R.string.sk_color_theme_green; case GREEN -> R.string.sk_color_theme_green;
case BLUE -> R.string.sk_color_theme_blue; case BLUE -> R.string.sk_color_theme_blue;
case ORANGE -> R.string.sk_color_theme_brown; case BROWN -> R.string.sk_color_theme_brown;
case YELLOW -> R.string.sk_color_theme_yellow; case YELLOW -> R.string.sk_color_theme_yellow;
case MATERIAL3 -> R.string.sk_color_theme_material_you;
}); });
} }
} }
@@ -853,10 +842,10 @@ public class SettingsFragment extends MastodonToolbarFragment{
if (state == GithubSelfUpdater.UpdateState.CHECKING) return; if (state == GithubSelfUpdater.UpdateState.CHECKING) return;
GithubSelfUpdater.UpdateInfo info=updater.getUpdateInfo(); GithubSelfUpdater.UpdateInfo info=updater.getUpdateInfo();
if(state!=GithubSelfUpdater.UpdateState.DOWNLOADED){ if(state!=GithubSelfUpdater.UpdateState.DOWNLOADED){
text.setText(getString(R.string.update_available, info.version)); text.setText(getString(R.string.sk_update_available, info.version));
button.setText(getString(R.string.download_update, UiUtils.formatFileSize(getActivity(), info.size, false))); button.setText(getString(R.string.download_update, UiUtils.formatFileSize(getActivity(), info.size, false)));
}else{ }else{
text.setText(getString(R.string.update_ready, info.version)); text.setText(getString(R.string.sk_update_ready, info.version));
button.setText(R.string.install_update); button.setText(R.string.install_update);
} }
if(state==GithubSelfUpdater.UpdateState.DOWNLOADING){ if(state==GithubSelfUpdater.UpdateState.DOWNLOADING){

View File

@@ -88,11 +88,11 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop,
tabView.setId(switch(switchIndex){ tabView.setId(switch(switchIndex){
case 0 -> R.id.discover_local_timeline; case 0 -> R.id.discover_local_timeline;
case 1 -> R.id.discover_federated_timeline; case 1 -> R.id.discover_federated_timeline;
case 2 -> R.id.discover_lists; case 2 -> R.id.discover_hashtags;
case 3 -> R.id.discover_hashtags; case 3 -> R.id.discover_posts;
case 4 -> R.id.discover_posts; case 4 -> R.id.discover_news;
case 5 -> R.id.discover_news; case 5 -> R.id.discover_users;
case 6 -> R.id.discover_users; case 6 -> R.id.discover_lists;
default -> throw new IllegalStateException("Unexpected value: "+switchIndex); default -> throw new IllegalStateException("Unexpected value: "+switchIndex);
}); });
tabView.setVisibility(View.GONE); tabView.setVisibility(View.GONE);
@@ -165,12 +165,11 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop,
tab.setText(switch(position){ tab.setText(switch(position){
case 0 -> R.string.local_timeline; case 0 -> R.string.local_timeline;
case 1 -> R.string.sk_federated_timeline; case 1 -> R.string.sk_federated_timeline;
case 2 -> R.string.sk_list_timelines; case 2 -> R.string.hashtags;
case 3 -> R.string.hashtags; case 3 -> R.string.posts;
case 4 -> R.string.posts; case 4 -> R.string.news;
case 5 -> R.string.news; case 5 -> R.string.for_you;
case 6 -> R.string.for_you; case 6 -> R.string.sk_list_timelines;
default -> throw new IllegalStateException("Unexpected value: "+position); default -> throw new IllegalStateException("Unexpected value: "+position);
}); });
tab.view.textView.setAllCaps(true); tab.view.textView.setAllCaps(true);

View File

@@ -106,13 +106,13 @@ public class InstanceChooserLoginFragment extends InstanceCatalogFragment{
.execNoAuth(""); .execNoAuth("");
} }
// @Override @Override
// protected void onUpdateToolbar(){ protected void onUpdateToolbar(){
// super.onUpdateToolbar(); super.onUpdateToolbar();
// Toolbar toolbar=getToolbar(); Toolbar toolbar=getToolbar();
// toolbar.setElevation(0); toolbar.setElevation(0);
// toolbar.setBackground(null); toolbar.setBackground(null);
// } }
@Override @Override
protected RecyclerView.Adapter getAdapter(){ protected RecyclerView.Adapter getAdapter(){
@@ -240,17 +240,13 @@ public class InstanceChooserLoginFragment extends InstanceCatalogFragment{
if(chosenInstance!=null){ if(chosenInstance!=null){
int idx=filteredData.indexOf(chosenInstance); int idx=filteredData.indexOf(chosenInstance);
if(idx!=-1){ if(idx!=-1){
boolean found=false;
for(int i=0;i<list.getChildCount();i++){ for(int i=0;i<list.getChildCount();i++){
RecyclerView.ViewHolder holder=list.getChildViewHolder(list.getChildAt(i)); RecyclerView.ViewHolder holder=list.getChildViewHolder(list.getChildAt(i));
if(holder.getAbsoluteAdapterPosition()==mergeAdapter.getPositionForAdapter(adapter)+idx && holder instanceof InstanceViewHolder ivh){ if(holder.getAbsoluteAdapterPosition()==mergeAdapter.getPositionForAdapter(adapter)+idx && holder instanceof InstanceViewHolder ivh){
ivh.radioButton.setChecked(false); ivh.radioButton.setChecked(false);
found=true;
break; break;
} }
} }
if(!found)
adapter.notifyItemChanged(idx);
} }
} }
radioButton.setChecked(true); radioButton.setChecked(true);

View File

@@ -40,7 +40,6 @@ public class Status extends BaseModel implements DisplayItemsParent{
public long favouritesCount; public long favouritesCount;
public long repliesCount; public long repliesCount;
public Instant editedAt; public Instant editedAt;
public boolean wantsTranslation;
public String url; public String url;
public String inReplyToId; public String inReplyToId;

View File

@@ -1,146 +0,0 @@
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;
}
}

View File

@@ -23,7 +23,6 @@ import org.joinmastodon.android.GlobalUserPreferences;
import org.joinmastodon.android.R; import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.accounts.GetAccountRelationships; import org.joinmastodon.android.api.requests.accounts.GetAccountRelationships;
import org.joinmastodon.android.api.requests.statuses.GetStatusSourceText; 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.api.session.AccountSessionManager;
import org.joinmastodon.android.fragments.BaseStatusListFragment; import org.joinmastodon.android.fragments.BaseStatusListFragment;
import org.joinmastodon.android.fragments.ComposeFragment; import org.joinmastodon.android.fragments.ComposeFragment;
@@ -34,7 +33,6 @@ import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.Attachment; import org.joinmastodon.android.model.Attachment;
import org.joinmastodon.android.model.Relationship; import org.joinmastodon.android.model.Relationship;
import org.joinmastodon.android.model.Status; import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.model.StatusTranslation;
import org.joinmastodon.android.ui.text.HtmlParser; import org.joinmastodon.android.ui.text.HtmlParser;
import org.joinmastodon.android.ui.utils.CustomEmojiHelper; import org.joinmastodon.android.ui.utils.CustomEmojiHelper;
import org.joinmastodon.android.ui.utils.UiUtils; import org.joinmastodon.android.ui.utils.UiUtils;
@@ -62,7 +60,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
private SpannableStringBuilder parsedName; private SpannableStringBuilder parsedName;
public final Status status; public final Status status;
private boolean hasVisibilityToggle; private boolean hasVisibilityToggle;
private boolean hasTranslateToggle;
boolean needBottomPadding; boolean needBottomPadding;
private String extraText; private String extraText;
@@ -77,7 +74,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
HtmlParser.parseCustomEmoji(parsedName, user.emojis); HtmlParser.parseCustomEmoji(parsedName, user.emojis);
emojiHelper.setText(parsedName); emojiHelper.setText(parsedName);
if(status!=null){ if(status!=null){
hasTranslateToggle=true;
hasVisibilityToggle=status.sensitive || !TextUtils.isEmpty(status.spoilerText); hasVisibilityToggle=status.sensitive || !TextUtils.isEmpty(status.spoilerText);
if(!hasVisibilityToggle && !status.mediaAttachments.isEmpty()){ if(!hasVisibilityToggle && !status.mediaAttachments.isEmpty()){
for(Attachment att:status.mediaAttachments){ for(Attachment att:status.mediaAttachments){
@@ -111,7 +107,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
public static class Holder extends StatusDisplayItem.Holder<HeaderStatusDisplayItem> implements ImageLoaderViewHolder{ public static class Holder extends StatusDisplayItem.Holder<HeaderStatusDisplayItem> implements ImageLoaderViewHolder{
private final TextView name, username, timestamp, extraText; private final TextView name, username, timestamp, extraText;
private final ImageView avatar, more, visibility, translate; private final ImageView avatar, more, visibility;
private final PopupMenu optionsMenu; private final PopupMenu optionsMenu;
private Relationship relationship; private Relationship relationship;
private APIRequest<?> currentRelationshipRequest; private APIRequest<?> currentRelationshipRequest;
@@ -125,7 +121,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
public Holder(Activity activity, ViewGroup parent){ public Holder(Activity activity, ViewGroup parent){
super(activity, R.layout.display_item_header, parent); super(activity, R.layout.display_item_header, parent);
translate=findViewById(R.id.translate);
name=findViewById(R.id.name); name=findViewById(R.id.name);
username=findViewById(R.id.username); username=findViewById(R.id.username);
timestamp=findViewById(R.id.timestamp); timestamp=findViewById(R.id.timestamp);
@@ -138,7 +133,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
avatar.setClipToOutline(true); avatar.setClipToOutline(true);
more.setOnClickListener(this::onMoreClick); more.setOnClickListener(this::onMoreClick);
visibility.setOnClickListener(v->item.parentFragment.onVisibilityIconClick(this)); visibility.setOnClickListener(v->item.parentFragment.onVisibilityIconClick(this));
translate.setOnClickListener(v->item.parentFragment.onRevealTranslationClick(this));
optionsMenu=new PopupMenu(activity, more); optionsMenu=new PopupMenu(activity, more);
optionsMenu.inflate(R.menu.post); optionsMenu.inflate(R.menu.post);
@@ -232,7 +226,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
else else
timestamp.setText(item.parentFragment.getString(R.string.edited_timestamp, UiUtils.formatRelativeTimestamp(itemView.getContext(), item.status.editedAt))); 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); visibility.setVisibility(item.hasVisibilityToggle && !item.inset ? View.VISIBLE : View.GONE);
translate.setVisibility(item.hasTranslateToggle ? View.VISIBLE : View.GONE);
if(item.hasVisibilityToggle){ if(item.hasVisibilityToggle){
visibility.setImageResource(item.status.spoilerRevealed ? R.drawable.ic_visibility_off : R.drawable.ic_visibility); 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)); visibility.setContentDescription(item.parentFragment.getString(item.status.spoilerRevealed ? R.string.hide_content : R.string.reveal_content));
@@ -240,9 +233,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
visibility.setTooltipText(visibility.getContentDescription()); 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); itemView.setPadding(itemView.getPaddingLeft(), itemView.getPaddingTop(), itemView.getPaddingRight(), item.needBottomPadding ? V.dp(16) : 0);
if(TextUtils.isEmpty(item.extraText)){ if(TextUtils.isEmpty(item.extraText)){
extraText.setVisibility(View.GONE); extraText.setVisibility(View.GONE);

View File

@@ -5,7 +5,6 @@ import android.graphics.drawable.Animatable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import org.joinmastodon.android.R; import org.joinmastodon.android.R;
@@ -61,8 +60,7 @@ public class PollOptionStatusDisplayItem extends StatusDisplayItem{
public static class Holder extends StatusDisplayItem.Holder<PollOptionStatusDisplayItem> implements ImageLoaderViewHolder{ public static class Holder extends StatusDisplayItem.Holder<PollOptionStatusDisplayItem> implements ImageLoaderViewHolder{
private final TextView text, percent; private final TextView text, percent;
private final View button; private final View icon, button;
private final ImageView icon;
private final Drawable progressBg; private final Drawable progressBg;
public Holder(Activity activity, ViewGroup parent){ public Holder(Activity activity, ViewGroup parent){
@@ -78,17 +76,14 @@ public class PollOptionStatusDisplayItem extends StatusDisplayItem{
@Override @Override
public void onBind(PollOptionStatusDisplayItem item){ public void onBind(PollOptionStatusDisplayItem item){
text.setText(item.text); text.setText(item.text);
// icon.setVisibility(item.showResults ? View.GONE : View.VISIBLE);
percent.setVisibility(item.showResults ? View.VISIBLE : View.GONE); percent.setVisibility(item.showResults ? View.VISIBLE : View.GONE);
itemView.setClickable(!item.showResults); itemView.setClickable(!item.showResults);
icon.setImageDrawable(itemView.getContext().getDrawable(item.poll.multiple ?
item.showResults ? R.drawable.ic_poll_checkbox_regular_selector : R.drawable.ic_poll_checkbox_filled_selector :
item.showResults ? R.drawable.ic_poll_option_button : R.drawable.ic_fluent_radio_button_24_selector
));
if(item.showResults){ if(item.showResults){
icon.setSelected(item.poll.ownVotes.contains(item.poll.options.indexOf(item.option)));
progressBg.setLevel(Math.round(10000f*item.votesFraction)); progressBg.setLevel(Math.round(10000f*item.votesFraction));
button.setBackground(progressBg); button.setBackground(progressBg);
itemView.setSelected(item.isMostVoted); itemView.setSelected(item.isMostVoted);
icon.setSelected(item.poll.ownVotes.contains(item.poll.options.indexOf(item.option)));
percent.setText(String.format(Locale.getDefault(), "%d%%", Math.round(item.votesFraction*100f))); percent.setText(String.format(Locale.getDefault(), "%d%%", Math.round(item.votesFraction*100f)));
}else{ }else{
itemView.setSelected(item.poll.selectedOptions!=null && item.poll.selectedOptions.contains(item.option)); itemView.setSelected(item.poll.selectedOptions!=null && item.poll.selectedOptions.contains(item.option));

View File

@@ -8,22 +8,17 @@ import android.text.TextUtils;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import org.joinmastodon.android.R; import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.statuses.GetStatusTranslation;
import org.joinmastodon.android.fragments.BaseStatusListFragment; import org.joinmastodon.android.fragments.BaseStatusListFragment;
import org.joinmastodon.android.model.Status; import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.model.StatusTranslation;
import org.joinmastodon.android.ui.drawables.SpoilerStripesDrawable; import org.joinmastodon.android.ui.drawables.SpoilerStripesDrawable;
import org.joinmastodon.android.ui.text.HtmlParser; import org.joinmastodon.android.ui.text.HtmlParser;
import org.joinmastodon.android.ui.utils.CustomEmojiHelper; import org.joinmastodon.android.ui.utils.CustomEmojiHelper;
import org.joinmastodon.android.ui.views.LinkedTextView; 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.ImageLoaderViewHolder;
import me.grishka.appkit.imageloader.MovieDrawable; import me.grishka.appkit.imageloader.MovieDrawable;
import me.grishka.appkit.imageloader.requests.ImageLoaderRequest; import me.grishka.appkit.imageloader.requests.ImageLoaderRequest;
@@ -40,7 +35,6 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
super(parentID, parentFragment); super(parentID, parentFragment);
this.text=text; this.text=text;
this.status=status; this.status=status;
// this.wantsTranslation=wantsTranslation;
emojiHelper.setText(text); emojiHelper.setText(text);
if(!TextUtils.isEmpty(status.spoilerText)){ if(!TextUtils.isEmpty(status.spoilerText)){
parsedSpoilerText=HtmlParser.parseCustomEmoji(status.spoilerText, status.emojis); parsedSpoilerText=HtmlParser.parseCustomEmoji(status.spoilerText, status.emojis);
@@ -97,26 +91,7 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
@Override @Override
public void onBind(TextStatusDisplayItem item){ public void onBind(TextStatusDisplayItem item){
if(item.status.wantsTranslation){ text.setText(item.text);
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){
item.status.wantsTranslation=false;
text.setText(item.text);
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); text.setTextIsSelectable(item.textSelectable);
spoilerTitleInline.setTextIsSelectable(item.textSelectable); spoilerTitleInline.setTextIsSelectable(item.textSelectable);
text.setInvalidateOnEveryFrame(false); text.setInvalidateOnEveryFrame(false);

View File

@@ -698,14 +698,14 @@ public class UiUtils{
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Blue : R.style.Theme_Mastodon_Dark_Blue; GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Blue : R.style.Theme_Mastodon_Dark_Blue;
}); });
break; break;
case ORANGE: case BROWN:
context.setTheme(switch(GlobalUserPreferences.theme){ context.setTheme(switch(GlobalUserPreferences.theme){
case AUTO -> case AUTO ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Orange : R.style.Theme_Mastodon_AutoLightDark_Orange; GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Brown : R.style.Theme_Mastodon_AutoLightDark_Brown;
case LIGHT -> case LIGHT ->
R.style.Theme_Mastodon_Light_Orange; R.style.Theme_Mastodon_Light_Brown;
case DARK -> case DARK ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Orange : R.style.Theme_Mastodon_Dark_Orange; GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Brown : R.style.Theme_Mastodon_Dark_Brown;
}); });
break; break;
case YELLOW: case YELLOW:
@@ -718,16 +718,6 @@ public class UiUtils{
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Yellow : R.style.Theme_Mastodon_Dark_Yellow; GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Yellow : R.style.Theme_Mastodon_Dark_Yellow;
}); });
break; break;
case MATERIAL3:
context.setTheme(switch(GlobalUserPreferences.theme){
case AUTO ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_AutoLightDark_TrueBlack_Material3 : R.style.Theme_Mastodon_AutoLightDark_Material3;
case LIGHT ->
R.style.Theme_Mastodon_Light_Material3;
case DARK ->
GlobalUserPreferences.trueBlackTheme ? R.style.Theme_Mastodon_Dark_TrueBlack_Material3 : R.style.Theme_Mastodon_Dark_Material3;
});
break;
} }
} }

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?colorBackgroundLightest" android:state_enabled="true"/> <item android:color="@color/gray_25" android:state_enabled="true"/>
<item android:color="?android:colorBackground"/> <item android:color="@color/gray_100"/>
</selector> </selector>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/black" android:state_enabled="true"/> <item android:color="?colorButtonText" android:state_enabled="true"/>
<item android:color="?colorTabInactive"/> <item android:color="?colorTabInactive"/>
</selector> </selector>

View File

@@ -1,22 +0,0 @@
<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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 902 B

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="?colorWindowBackground"/> <solid android:color="@color/gray_800"/>
<corners android:radius="10dp"/> <corners android:radius="10dp"/>
<padding android:top="16dp" android:left="16dp" android:right="16dp" android:bottom="16dp"/> <padding android:top="16dp" android:left="16dp" android:right="16dp" android:bottom="16dp"/>
</shape> </shape>

View File

@@ -1,23 +0,0 @@
<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>

View File

@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:pathData="M12 7c0.414 0 0.75 0.336 0.75 0.75v3.5h3.5c0.414 0 0.75 0.336 0.75 0.75s-0.336 0.75-0.75 0.75h-3.5v3.5c0 0.414-0.336 0.75-0.75 0.75s-0.75-0.336-0.75-0.75v-3.5h-3.5C7.336 12.75 7 12.414 7 12s0.336-0.75 0.75-0.75h3.5v-3.5C11.25 7.336 11.586 7 12 7zM3 6.25C3 4.455 4.455 3 6.25 3h11.5C19.545 3 21 4.455 21 6.25v11.5c0 1.795-1.455 3.25-3.25 3.25H6.25C4.455 21 3 19.545 3 17.75V6.25zM6.25 4.5C5.284 4.5 4.5 5.284 4.5 6.25v11.5c0 0.966 0.784 1.75 1.75 1.75h11.5c0.966 0 1.75-0.784 1.75-1.75V6.25c0-0.966-0.784-1.75-1.75-1.75H6.25z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:pathData="M6.25 3C4.455 3 3 4.455 3 6.25v11.5C3 19.545 4.455 21 6.25 21h11.5c1.795 0 3.25-1.455 3.25-3.25V6.25C21 4.455 19.545 3 17.75 3H6.25zm11.03 6.28l-6.754 6.747c-0.293 0.292-0.767 0.292-1.06 0L6.72 13.28c-0.293-0.293-0.293-0.768 0-1.06 0.293-0.293 0.768-0.293 1.06 0l2.217 2.216 6.223-6.217c0.293-0.292 0.768-0.292 1.06 0.001 0.293 0.293 0.293 0.768 0 1.06z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:pathData="M6.25 3C4.455 3 3 4.455 3 6.25v11.5C3 19.545 4.455 21 6.25 21h11.5c1.795 0 3.25-1.455 3.25-3.25V6.25C21 4.455 19.545 3 17.75 3H6.25zM4.5 6.25c0-0.966 0.784-1.75 1.75-1.75h11.5c0.966 0 1.75 0.784 1.75 1.75v11.5c0 0.966-0.784 1.75-1.75 1.75H6.25c-0.966 0-1.75-0.784-1.75-1.75V6.25zm12.78 3.03c0.293-0.292 0.293-0.767 0-1.06-0.292-0.293-0.767-0.293-1.06 0l-6.223 6.216L7.78 12.22c-0.293-0.293-0.768-0.293-1.06 0-0.294 0.292-0.294 0.767 0 1.06l2.745 2.746c0.293 0.293 0.767 0.293 1.06 0l6.754-6.745z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:pathData="M3 6.25C3 4.455 4.455 3 6.25 3h11.5C19.545 3 21 4.455 21 6.25v11.5c0 1.795-1.455 3.25-3.25 3.25H6.25C4.455 21 3 19.545 3 17.75V6.25zM6.25 5C5.56 5 5 5.56 5 6.25v11.5C5 18.44 5.56 19 6.25 19h11.5c0.69 0 1.25-0.56 1.25-1.25V6.25C19 5.56 18.44 5 17.75 5H6.25z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:pathData="M3 6.25C3 4.455 4.455 3 6.25 3h11.5C19.545 3 21 4.455 21 6.25v11.5c0 1.795-1.455 3.25-3.25 3.25H6.25C4.455 21 3 19.545 3 17.75V6.25zM6.25 4.5C5.284 4.5 4.5 5.284 4.5 6.25v11.5c0 0.966 0.784 1.75 1.75 1.75h11.5c0.966 0 1.75-0.784 1.75-1.75V6.25c0-0.966-0.784-1.75-1.75-1.75H6.25z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -1,5 +0,0 @@
<vector android:height="28dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="28dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M3,5v14h17L20,5L3,5zM7,7v2L5,9L5,7h2zM5,13v-2h2v2L5,13zM5,15h2v2L5,17v-2zM18,17L9,17v-2h9v2zM18,13L9,13v-2h9v2zM18,9L9,9L9,7h9v2z"/>
</vector>

View File

@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:pathData="M12 1.999c5.524 0 10.002 4.478 10.002 10.002 0 5.523-4.478 10.001-10.002 10.001-5.524 0-10.002-4.478-10.002-10.001C1.998 6.477 6.476 1.999 12 1.999zm0 1.5c-4.695 0-8.502 3.806-8.502 8.502 0 4.695 3.807 8.501 8.502 8.501s8.502-3.806 8.502-8.501c0-4.696-3.807-8.502-8.502-8.502zm-0.003 2.5c3.312 0 5.998 2.686 5.998 5.998 0 3.313-2.686 5.998-5.998 5.998-3.313 0-5.999-2.685-5.999-5.998S8.684 6 11.997 6z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--~ Copyright (c) 2022. ~ Microsoft Corporation. All rights reserved.-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_fluent_radio_button_24_filled" android:state_activated="true"/>
<item android:drawable="@drawable/ic_fluent_radio_button_24_filled" android:state_checked="true"/>
<item android:drawable="@drawable/ic_fluent_radio_button_24_filled" android:state_selected="true"/>
<item android:drawable="@drawable/ic_fluent_radio_button_24_regular"/>
</selector>

View File

@@ -1,74 +0,0 @@
<?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>

View File

@@ -1,23 +0,0 @@
<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>

View File

@@ -0,0 +1,10 @@
<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>

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_fluent_checkbox_checked_24_filled" android:state_activated="true"/>
<item android:drawable="@drawable/ic_fluent_checkbox_checked_24_filled" android:state_checked="true"/>
<item android:drawable="@drawable/ic_fluent_checkbox_checked_24_filled" android:state_selected="true"/>
<item android:drawable="@drawable/ic_fluent_checkbox_unchecked_24_filled"/>
</selector>

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_fluent_checkbox_checked_24_regular" android:state_activated="true"/>
<item android:drawable="@drawable/ic_fluent_checkbox_checked_24_regular" android:state_checked="true"/>
<item android:drawable="@drawable/ic_fluent_checkbox_checked_24_regular" android:state_selected="true"/>
<item android:drawable="@drawable/ic_fluent_checkbox_unchecked_24_regular"/>
</selector>

View File

@@ -1,5 +0,0 @@
<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="M12.87,15.07l-2.54,-2.51 0.03,-0.03c1.74,-1.94 2.98,-4.17 3.71,-6.53L17,6L17,4h-7L10,2L8,2v2L1,4v1.99h11.17C11.5,7.92 10.44,9.75 9,11.35 8.07,10.32 7.3,9.19 6.69,8h-2c0.73,1.63 1.73,3.17 2.98,4.56l-5.09,5.02L4,19l5,-5 3.11,3.11 0.76,-2.04zM18.5,10h-2L12,22h2l1.12,-3h4.75L21,22h2l-4.5,-12zM15.88,17l1.62,-4.33L19.12,17h-3.24z"/>
</vector>

View File

@@ -1,5 +0,0 @@
<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="M12.87,15.07l-2.54,-2.51 0.03,-0.03c1.74,-1.94 2.98,-4.17 3.71,-6.53L17,6L17,4h-7L10,2L8,2v2L1,4v1.99h11.17C11.5,7.92 10.44,9.75 9,11.35 8.07,10.32 7.3,9.19 6.69,8h-2c0.73,1.63 1.73,3.17 2.98,4.56l-5.09,5.02L4,19l5,-5 3.11,3.11 0.76,-2.04zM18.5,10h-2L12,22h2l1.12,-3h4.75L21,22h2l-4.5,-12zM15.88,17l1.62,-4.33L19.12,17h-3.24z"/>
</vector>

View File

@@ -1,31 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="109.08dp" android:width="124.78dp"
android:height="18.02dp" android:height="22.75dp"
android:viewportWidth="109.08" android:viewportWidth="124.78"
android:viewportHeight="18.02"> android:viewportHeight="22.75">
<path <path
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:pathData="m26.16,17.57q-1.82,0 -3.29,-0.84 -1.46,-0.84 -2.3,-2.3 -0.82,-1.49 -0.82,-3.34 0,-1.75 0.82,-3.24 0.82,-1.51 2.26,-2.4 1.44,-0.89 3.22,-0.89 1.9,0 3.26,0.82 1.37,0.82 2.06,2.23 0.72,1.42 0.72,3.14 0,0.55 -0.07,1.06h-9.19q0.24,1.46 1.15,2.23 0.94,0.74 2.23,0.74 1.08,0 1.85,-0.46 0.79,-0.48 1.25,-1.27l2.54,1.25q-1.87,3.26 -5.69,3.26zM29.07,9.58q-0.05,-0.58 -0.43,-1.13 -0.36,-0.58 -1.03,-0.94 -0.65,-0.38 -1.54,-0.38 -1.13,0 -1.94,0.67 -0.79,0.65 -1.15,1.78z"
android:fillColor="#282c37"/> android:fillColor="#282c37"/>
<path <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:pathData="m40.27,22.75q-2.33,0 -3.86,-1.06 -1.54,-1.03 -2.06,-2.5l2.95,-1.2q0.38,0.91 1.18,1.44 0.79,0.53 1.8,0.53 1.49,0 2.35,-0.91 0.89,-0.91 0.89,-2.59v-0.96h-0.19q-0.58,0.82 -1.51,1.25 -0.94,0.43 -2.14,0.43 -1.51,0 -2.83,-0.77 -1.3,-0.79 -2.09,-2.21 -0.79,-1.44 -0.79,-3.34 0,-1.9 0.79,-3.31 0.79,-1.44 2.09,-2.21 1.32,-0.79 2.83,-0.79 1.2,0 2.14,0.43 0.94,0.43 1.51,1.25h0.19v-1.3h3.02L46.54,16.34q0,1.97 -0.77,3.41 -0.77,1.44 -2.18,2.21 -1.42,0.79 -3.31,0.79zM40.32,14.33q1.32,0 2.26,-0.91 0.94,-0.94 0.94,-2.54 0,-1.66 -0.94,-2.54 -0.91,-0.91 -2.26,-0.91 -1.34,0 -2.28,0.91 -0.94,0.91 -0.94,2.54 0,1.63 0.94,2.54 0.94,0.91 2.28,0.91z"
android:fillColor="#282c37"/> android:fillColor="#282c37"/>
<path <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:pathData="m53.23,17.57q-1.94,0 -3.19,-1.13 -1.25,-1.15 -1.25,-3 0,-1.22 0.65,-2.16 0.65,-0.94 1.78,-1.44 1.13,-0.5 2.5,-0.5 1.9,0 3.24,0.55L56.95,9.36q0,-1.01 -0.77,-1.63 -0.74,-0.62 -2.02,-0.62 -0.86,0 -1.68,0.41 -0.79,0.38 -1.32,1.03l-2.02,-1.58q0.89,-1.15 2.23,-1.78 1.34,-0.62 2.93,-0.62 2.81,0 4.27,1.3 1.46,1.3 1.46,3.79v7.54h-3.1v-1.25h-0.19q-0.55,0.72 -1.46,1.18 -0.89,0.46 -2.06,0.46zM53.98,15.12q1.37,0 2.16,-0.86 0.82,-0.89 0.82,-2.06 -1.22,-0.58 -2.57,-0.58 -2.45,0 -2.45,1.82 0,0.74 0.53,1.22 0.53,0.46 1.51,0.46z"
android:fillColor="#282c37"/> android:fillColor="#282c37"/>
<path <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:pathData="m62.95,0h3.14L66.1,17.18h-3.14z"
android:fillColor="#282c37"/> android:fillColor="#282c37"/>
<path <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:pathData="m74.93,17.57q-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.84zM74.93,14.66q0.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"/> android:fillColor="#282c37"/>
<path <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:pathData="m89.09,17.57q-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.73L92.76,0h3.12L95.88,17.18h-2.93v-1.46h-0.19q-0.48,0.79 -1.46,1.32 -0.96,0.53 -2.21,0.53zM89.62,14.66q0.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"/> android:fillColor="#282c37"/>
<path <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:pathData="m104.72,17.57q-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.84zM104.72,14.66q0.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"/> android:fillColor="#282c37"/>
<path <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:pathData="m113.38,4.94h2.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,4.54c-1.37,0 -2.47,0.48 -3.31,1.42C0.41,6.9 0,8.16 0,9.76v7.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.15 6.11,4.54 4.53,4.54Z"
android:strokeWidth="0.990258" android:strokeWidth="0.990258"
android:fillColor="#282c37"/> android:fillColor="#282c37"/>
</vector> </vector>

View File

@@ -15,7 +15,6 @@
android:outlineProvider="background" android:outlineProvider="background"
android:elevation="2dp"> android:elevation="2dp">
<ImageView <ImageView
android:id="@+id/icon"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_margin="16dp" android:layout_margin="16dp"

View File

@@ -26,20 +26,8 @@
android:layout_width="36dp" android:layout_width="36dp"
android:layout_height="36dp" android:layout_height="36dp"
android:layout_marginTop="-6dp" android:layout_marginTop="-6dp"
android:layout_marginEnd="6dp" android:layout_marginRight="6dp"
android:layout_toStartOf="@id/more" android:layout_toLeftOf="@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:background="?android:selectableItemBackgroundBorderless"
android:scaleType="center" android:scaleType="center"
android:src="@drawable/ic_visibility" android:src="@drawable/ic_visibility"
@@ -58,7 +46,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:layout_toStartOf="@id/translate" android:layout_toStartOf="@id/visibility"
android:layout_toEndOf="@id/avatar"> android:layout_toEndOf="@id/avatar">
<TextView <TextView
@@ -90,7 +78,7 @@
android:layout_height="20dp" android:layout_height="20dp"
android:layout_below="@id/name_wrap" android:layout_below="@id/name_wrap"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:layout_toStartOf="@id/translate" android:layout_toStartOf="@id/visibility"
android:layout_toEndOf="@id/avatar" android:layout_toEndOf="@id/avatar"
android:layoutDirection="locale" android:layoutDirection="locale"
android:orientation="horizontal"> android:orientation="horizontal">

View File

@@ -26,6 +26,7 @@
android:layout_height="24dp" android:layout_height="24dp"
android:layout_marginStart="12dp" android:layout_marginStart="12dp"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:duplicateParentState="true"
android:tint="?colorDarkIcon" android:tint="?colorDarkIcon"
android:src="@drawable/ic_poll_option_button"/> android:src="@drawable/ic_poll_option_button"/>

View File

@@ -31,10 +31,9 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textAppearance="@style/m3_title_medium" android:textAppearance="@style/m3_title_medium"
android:background="@color/error_900" android:background="?colorBackgroundLight"
tools:text="CW title"/> tools:text="CW title"/>
<View <View
android:id="@+id/border_bottom" android:id="@+id/border_bottom"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -50,22 +49,6 @@
android:textSize="16sp" android:textSize="16sp"
android:textAppearance="@style/m3_body_large" android:textAppearance="@style/m3_body_large"
tools:text="setting up my mstdn"/> 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> </LinearLayout>

View File

@@ -132,7 +132,6 @@
android:outlineProvider="background" android:outlineProvider="background"
android:elevation="2dp"> android:elevation="2dp">
<ImageView <ImageView
android:id="@+id/add_poll_option_icon"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_margin="16dp" android:layout_margin="16dp"
@@ -149,39 +148,6 @@
android:textAppearance="@style/m3_label_large" android:textAppearance="@style/m3_label_large"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
tools:text="Duration: 7 days"/> tools:text="Duration: 7 days"/>
<LinearLayout
android:id="@+id/poll_allow_multiple"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginTop="8dp"
android:gravity="center_vertical"
android:layoutDirection="locale"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:background="?android:selectableItemBackground">
<CheckBox
android:id="@+id/poll_allow_multiple_checkbox"
android:clickable="false"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:layout_marginEnd="24dp"
android:duplicateParentState="true"
android:importantForAccessibility="no"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="16sp"
android:singleLine="true"
android:text="@string/poll_allow_multiple" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<org.joinmastodon.android.ui.views.ComposeMediaLayout <org.joinmastodon.android.ui.views.ComposeMediaLayout

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<org.joinmastodon.android.ui.tabs.TabLayout
android:id="@+id/tabbar"
android:layout_width="match_parent"
android:layout_height="48dp"
app:tabGravity="fill"
app:tabIndicator="@drawable/mtrl_tabs_default_indicator"
app:tabIndicatorAnimationMode="elastic"
app:tabIndicatorColor="?android:textColorPrimary"
app:tabMode="fixed"
android:background="@drawable/bg_discover_tabs"/>
</LinearLayout>

View File

@@ -44,19 +44,18 @@
<EditText <EditText
android:id="@+id/search_edit" android:id="@+id/search_edit"
style="@android:style/Widget.EditText"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="textFilter|textNoSuggestions"
android:singleLine="true"
android:imeOptions="actionGo"
android:layout_marginLeft="16dp" android:layout_marginLeft="16dp"
android:layout_marginTop="19dp"
android:layout_marginRight="16dp" android:layout_marginRight="16dp"
android:layout_marginTop="19dp"
android:layout_marginBottom="3dp" android:layout_marginBottom="3dp"
android:drawableStart="@drawable/ic_fluent_search_20_regular" android:drawableStart="@drawable/ic_fluent_search_20_regular"
android:drawablePadding="8dp" android:drawablePadding="8dp"
android:drawableTint="?android:textColorSecondary" 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> </LinearLayout>

View File

@@ -28,29 +28,4 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingRight="16dp"/> android:paddingRight="16dp"/>
<!-- <ImageView-->
<!-- android:id="@+id/edit"-->
<!-- android:layout_width="36dp"-->
<!-- android:layout_height="36dp"-->
<!-- android:layout_marginTop="0dp"-->
<!-- android:layout_marginEnd="6dp"-->
<!-- android:layout_toStartOf="@id/list_toggle"-->
<!-- android:background="?android:selectableItemBackgroundBorderless"-->
<!-- android:scaleType="center"-->
<!-- android:src="@drawable/ic_fluent_edit_24_regular"-->
<!-- android:tint="?android:textColorSecondary" />-->
<!-- <ImageView-->
<!-- android:id="@+id/delete"-->
<!-- android:layout_width="36dp"-->
<!-- android:layout_height="36dp"-->
<!-- android:layout_marginTop="0dp"-->
<!-- android:layout_marginEnd="6dp"-->
<!-- android:layout_toStartOf="@id/edit"-->
<!-- android:background="?android:selectableItemBackgroundBorderless"-->
<!-- android:scaleType="center"-->
<!-- android:src="@drawable/ic_fluent_delete_24_regular"-->
<!-- android:tint="?android:textColorSecondary" />-->
</LinearLayout> </LinearLayout>

View File

@@ -1,10 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/purple_color" android:title="@string/sk_color_theme_purple"/>
<item android:id="@+id/pink_color" android:title="@string/sk_color_theme_pink"/> <item android:id="@+id/pink_color" android:title="@string/sk_color_theme_pink"/>
<item android:id="@+id/purple_color" android:title="@string/sk_color_theme_purple"/>
<item android:id="@+id/green_color" android:title="@string/sk_color_theme_green"/> <item android:id="@+id/green_color" android:title="@string/sk_color_theme_green"/>
<item android:id="@+id/blue_color" android:title="@string/sk_color_theme_blue"/> <item android:id="@+id/blue_color" android:title="@string/sk_color_theme_blue"/>
<item android:id="@+id/orange_color" android:title="@string/sk_color_theme_brown"/> <item android:id="@+id/brown_color" android:title="@string/sk_color_theme_brown"/>
<item android:id="@+id/yellow_color" android:title="@string/sk_color_theme_yellow"/> <item android:id="@+id/yellow_color" android:title="@string/sk_color_theme_yellow"/>
<item android:id="@+id/m3_color" android:title="@string/sk_color_theme_material_you"/>
</menu> </menu>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/shortcut_icon_background"/> <background android:drawable="@mipmap/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/> <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon> </adaptive-icon>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/shortcut_icon_background"/> <background android:drawable="@mipmap/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/> <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon> </adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="shortcut_icon_background">@color/gray_700</color> <color name="shortcut_icon_background">@color/gray_700</color>
<color name="shortcut_icon_foreground">@color/original_primary_600</color> <color name="shortcut_icon_foreground">@color/primary_600</color>
</resources> </resources>

View File

@@ -12,12 +12,9 @@
<style name="Theme.Mastodon.AutoLightDark.Blue" parent="Theme.Mastodon.Dark.Blue"/> <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.TrueBlack.Blue" parent="Theme.Mastodon.Dark.TrueBlack.Blue"/>
<style name="Theme.Mastodon.AutoLightDark.Orange" parent="Theme.Mastodon.Dark.Orange"/> <style name="Theme.Mastodon.AutoLightDark.Brown" parent="Theme.Mastodon.Dark.Brown"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Orange" parent="Theme.Mastodon.Dark.TrueBlack.Orange"/> <style name="Theme.Mastodon.AutoLightDark.TrueBlack.Brown" parent="Theme.Mastodon.Dark.TrueBlack.Brown"/>
<style name="Theme.Mastodon.AutoLightDark.Yellow" parent="Theme.Mastodon.Dark.Yellow"/> <style name="Theme.Mastodon.AutoLightDark.Yellow" parent="Theme.Mastodon.Dark.Yellow"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Yellow" parent="Theme.Mastodon.Dark.TrueBlack.Yellow"/> <style name="Theme.Mastodon.AutoLightDark.TrueBlack.Yellow" parent="Theme.Mastodon.Dark.TrueBlack.Yellow"/>
<style name="Theme.Mastodon.AutoLightDark.Material3" parent="Theme.Mastodon.Dark.Material3"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Material3" parent="Theme.Mastodon.Dark.TrueBlack.Material3"/>
</resources> </resources>

View File

@@ -3,6 +3,6 @@
<color name="navigation_bar_bg">@color/gray_50</color> <color name="navigation_bar_bg">@color/gray_50</color>
<color name="green_navigation_bar_bg">@color/green_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="blue_navigation_bar_bg">@color/blue_gray_50</color>
<color name="orange_navigation_bar_bg">@color/orange_gray_50</color> <color name="brown_navigation_bar_bg">@color/brown_gray_50</color>
<color name="yellow_navigation_bar_bg">@color/yellow_gray_50</color> <color name="yellow_navigation_bar_bg">@color/yellow_gray_50</color>
</resources> </resources>

View File

@@ -2,35 +2,6 @@
<resources> <resources>
<!-- M3 dynamic colors --> <!-- M3 dynamic colors -->
<color name="m3_navigation_bar_bg">@android:color/system_neutral1_50</color>
<color name="m3_gray_900">@android:color/system_neutral1_900</color>
<color name="m3_gray_800t">@android:color/system_neutral1_800</color>
<color name="m3_gray_800">@android:color/system_neutral1_800</color>
<color name="m3_gray_700">@android:color/system_neutral1_700</color>
<color name="m3_gray_600">@android:color/system_neutral1_600</color>
<color name="m3_gray_500">@android:color/system_neutral1_500</color>
<color name="m3_gray_400">@android:color/system_neutral1_400</color>
<color name="m3_gray_300">@android:color/system_neutral1_300</color>
<color name="m3_gray_200">@android:color/system_neutral1_200</color>
<color name="m3_gray_100">@android:color/system_neutral1_100</color>
<color name="m3_gray_50t">@android:color/system_neutral1_50</color>
<color name="m3_gray_50">@android:color/system_neutral1_50</color>
<color name="m3_gray_25">@android:color/system_neutral1_10</color>
<color name="m3_primary_25">@android:color/system_accent1_10</color>
<color name="m3_primary_50">@android:color/system_accent1_50</color>
<color name="m3_primary_100">@android:color/system_accent1_100</color>
<color name="m3_primary_200">@android:color/system_accent1_200</color>
<color name="m3_primary_300">@android:color/system_accent1_300</color>
<color name="m3_primary_400">@android:color/system_accent1_400</color>
<color name="m3_primary_500">@android:color/system_accent1_500</color>
<color name="m3_primary_600">@android:color/system_accent1_600</color>
<color name="m3_primary_700">@android:color/system_accent1_700</color>
<color name="m3_primary_800">@android:color/system_accent1_800</color>
<color name="m3_primary_900">@android:color/system_accent1_900</color>
<!-- light theme --> <!-- light theme -->
<color name="m3_sys_light_primary">@android:color/system_accent1_600</color> <color name="m3_sys_light_primary">@android:color/system_accent1_600</color>
<color name="m3_sys_light_on_primary">#FFF</color> <color name="m3_sys_light_on_primary">#FFF</color>

View File

@@ -67,17 +67,17 @@
<color name="blue_primary_800">#003354</color> <color name="blue_primary_800">#003354</color>
<color name="blue_primary_900">#001d33</color> <color name="blue_primary_900">#001d33</color>
<color name="orange_primary_25">#fafaff</color> <color name="brown_primary_25">#fafaff</color>
<color name="orange_primary_50">#ffeedf</color> <color name="brown_primary_50">#ffeedf</color>
<color name="orange_primary_100">#ffdcbb</color> <color name="brown_primary_100">#ffdcbb</color>
<color name="orange_primary_200">#ffb869</color> <color name="brown_primary_200">#ffb869</color>
<color name="orange_primary_300">#e89a3b</color> <color name="brown_primary_300">#e89a3b</color>
<color name="orange_primary_400">#c98121</color> <color name="brown_primary_400">#c98121</color>
<color name="orange_primary_500">#a96700</color> <color name="brown_primary_500">#a96700</color>
<color name="orange_primary_600">#885200</color> <color name="brown_primary_600">#885200</color>
<color name="orange_primary_700">#673d00</color> <color name="brown_primary_700">#673d00</color>
<color name="orange_primary_800">#482900</color> <color name="brown_primary_800">#482900</color>
<color name="orange_primary_900">#2b1700</color> <color name="brown_primary_900">#2b1700</color>
<color name="yellow_primary_25">#fafaff</color> <color name="yellow_primary_25">#fafaff</color>
<color name="yellow_primary_50">#fff0ca</color> <color name="yellow_primary_50">#fff0ca</color>
@@ -98,23 +98,6 @@
<color name="custom_gray_600">#212121</color> <color name="custom_gray_600">#212121</color>
<color name="custom_gray_500">#242424</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_400">#a2b095</color>
<color name="green_gray_300">#bdcbaf</color> <color name="green_gray_300">#bdcbaf</color>
<color name="green_gray_200">#d9e7ca</color> <color name="green_gray_200">#d9e7ca</color>
@@ -131,13 +114,13 @@
<color name="blue_gray_50">#e8f2ff</color> <color name="blue_gray_50">#e8f2ff</color>
<color name="blue_gray_25">#f7f8fa</color> <color name="blue_gray_25">#f7f8fa</color>
<color name="orange_gray_400">#c3a689</color> <color name="brown_gray_400">#c3a689</color>
<color name="orange_gray_300">#e0c1a3</color> <color name="brown_gray_300">#e0c1a3</color>
<color name="orange_gray_200">#feddbd</color> <color name="brown_gray_200">#feddbd</color>
<color name="orange_gray_100">#ffeedf</color> <color name="brown_gray_100">#ffeedf</color>
<color name="orange_gray_50t">#ccffeedf</color> <color name="brown_gray_50t">#ccffeedf</color>
<color name="orange_gray_50">#ffeedf</color> <color name="brown_gray_50">#ffeedf</color>
<color name="orange_gray_25">#f7f8fa</color> <color name="brown_gray_25">#f7f8fa</color>
<color name="yellow_gray_400">#b8aa87</color> <color name="yellow_gray_400">#b8aa87</color>
<color name="yellow_gray_300">#d4c5a1</color> <color name="yellow_gray_300">#d4c5a1</color>
@@ -210,10 +193,10 @@
<color name="favorite_selected">@color/warning_500</color> <color name="favorite_selected">@color/warning_500</color>
<color name="bookmark_selected">@color/success_500</color> <color name="bookmark_selected">@color/success_500</color>
<color name="boost_selected">?android:colorPrimary</color> <color name="boost_selected">@color/primary_500</color>
<color name="shortcut_icon_background">#282C37</color> <color name="shortcut_icon_background">@color/gray_100</color>
<!-- <color name="shortcut_icon_foreground">@color/primary_700</color>--> <color name="shortcut_icon_foreground">@color/primary_700</color>
<!-- M3 dynamic colors --> <!-- M3 dynamic colors -->

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name" translatable="false">Moshidon</string> <string name="app_name" translatable="false">Mastodon</string>
<string name="get_started">Get started</string> <string name="get_started">Get started</string>
<string name="log_in">Log in</string> <string name="log_in">Log in</string>
@@ -394,19 +394,7 @@
<string name="remove_bookmark">Remove bookmark</string> <string name="remove_bookmark">Remove bookmark</string>
<string name="bookmarks">Bookmarks</string> <string name="bookmarks">Bookmarks</string>
<string name="your_favorites">Your Favorites</string> <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 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>
<string name="login_title">Welcome Back</string> <string name="login_title">Welcome Back</string>
<string name="login_subtitle">Log in with the server where you created your account.</string> <string name="login_subtitle">Log in with the server where you created your account.</string>
<string name="server_url">Server URL</string> <string name="server_url">Server URL</string>
<string name="poll_allow_multiple">Allow multiple choices</string> </resources>
</resources>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="sk_app_name" translatable="false">Moshidon</string> <string name="sk_app_name">Megalodon</string>
<string name="sk_pinned_posts">Pinned</string> <string name="sk_pinned_posts">Pinned</string>
<string name="sk_delete_and_redraft">Delete and re-draft</string> <string name="sk_delete_and_redraft">Delete and re-draft</string>
<string name="sk_confirm_delete_and_redraft_title">Delete and re-draft Post</string> <string name="sk_confirm_delete_and_redraft_title">Delete and re-draft Post</string>
@@ -25,8 +25,8 @@
<string name="sk_user_post_notifications_off">Turned off post notifications for %s</string> <string name="sk_user_post_notifications_off">Turned off post notifications for %s</string>
<string name="sk_federated_timeline">Federation</string> <string name="sk_federated_timeline">Federation</string>
<string name="sk_federated_timeline_info_banner">These are the most recent posts by the people in your federation.</string> <string name="sk_federated_timeline_info_banner">These are the most recent posts by the people in your federation.</string>
<string name="sk_update_available">Moshidon %s is ready to download.</string> <string name="sk_update_available">Megalodon %s is ready to download.</string>
<string name="sk_update_ready">Moshidon %s is downloaded and ready to install.</string> <string name="sk_update_ready">Megalodon %s is downloaded and ready to install.</string>
<string name="sk_check_for_update">Check for update</string> <string name="sk_check_for_update">Check for update</string>
<string name="sk_no_update_available">No update available</string> <string name="sk_no_update_available">No update available</string>
<string name="sk_list_timelines">Lists</string> <string name="sk_list_timelines">Lists</string>
@@ -45,8 +45,6 @@
<string name="sk_color_theme_purple">Purple</string> <string name="sk_color_theme_purple">Purple</string>
<string name="sk_color_theme_green">Green</string> <string name="sk_color_theme_green">Green</string>
<string name="sk_color_theme_blue">Blue</string> <string name="sk_color_theme_blue">Blue</string>
<string name="sk_color_theme_brown">Orange</string> <string name="sk_color_theme_brown">Brown</string>
<string name="sk_color_theme_yellow">Yellow</string> <string name="sk_color_theme_yellow">Yellow</string>
<string name="sk_color_theme_material_you">Material You</string>
<string name="sk_not_supported">Not supported on your device</string>
</resources> </resources>

View File

@@ -45,7 +45,7 @@
<item name="android:windowLightNavigationBar" tools:ignore="NewApi">true</item> <item name="android:windowLightNavigationBar" tools:ignore="NewApi">true</item>
<item name="android:popupMenuStyle">@style/Widget.Mastodon.PopupMenu</item> <item name="android:popupMenuStyle">@style/Widget.Mastodon.PopupMenu</item>
<item name="android:actionOverflowMenuStyle">@style/Widget.Mastodon.PopupMenu</item> <item name="android:actionOverflowMenuStyle">@style/Widget.Mastodon.PopupMenu</item>
<!-- M3 colors --> <!-- M3 colors -->
<item name="colorM3Primary">@color/m3_sys_light_primary</item> <item name="colorM3Primary">@color/m3_sys_light_primary</item>
<item name="colorM3OnPrimary">@color/m3_sys_light_on_primary</item> <item name="colorM3OnPrimary">@color/m3_sys_light_on_primary</item>
@@ -70,6 +70,7 @@
<item name="colorM3PressedOverlay">@color/m3_sys_light_on_primary</item> <item name="colorM3PressedOverlay">@color/m3_sys_light_on_primary</item>
</style> </style>
<style name="Theme.Mastodon.Dark" parent="Theme.AppKit"> <style name="Theme.Mastodon.Dark" parent="Theme.AppKit">
<!-- needed to disable scrim on API 29+ --> <!-- needed to disable scrim on API 29+ -->
<item name="android:enforceNavigationBarContrast" tools:ignore="NewApi">false</item> <item name="android:enforceNavigationBarContrast" tools:ignore="NewApi">false</item>
@@ -204,122 +205,6 @@
<item name="colorBackgroundLightest">@color/black</item> <item name="colorBackgroundLightest">@color/black</item>
</style> </style>
<style name="Theme.Mastodon.Light.Material3" parent="Theme.Mastodon.Light.CustomBase">
<!-- needed to disable scrim on API 29+ -->
<item name="android:colorPrimary">@color/m3_gray_800</item>
<item name="android:textColorPrimary">@color/m3_gray_800</item>
<item name="android:textColorSecondary">@color/m3_gray_500</item>
<item name="colorDarkIcon">@color/m3_gray_900</item>
<item name="colorSearchHint">@color/m3_gray_600</item>
<item name="profileHeaderBackground">@color/m3_gray_500</item>
<item name="android:colorAccent">@color/m3_primary_700</item>
<item name="android:colorBackground">@color/m3_gray_100</item>
<item name="colorButtonText">@color/m3_gray_50</item>
<item name="colorBackgroundLight">@color/m3_gray_50</item>
<item name="colorBackgroundLightest">@color/m3_gray_25</item>
<item name="android:statusBarColor">@color/m3_gray_50</item>
<item name="android:navigationBarColor">@color/m3_navigation_bar_bg</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.M3</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.M3</item>
<item name="colorPollMostVoted">@color/m3_primary_500</item>
<item name="colorPollVoted">@color/m3_gray_300</item>
<item name="colorAccentLight">@color/m3_primary_600</item>
<item name="colorSearchField">@color/m3_gray_200</item>
<item name="colorTabInactive">@color/m3_gray_400</item>
<item name="colorAccentLightest">@color/m3_primary_100</item>
<item name="colorSecondary">@color/m3_gray_50</item>
</style>
<style name="Theme.Mastodon.Dark.Material3" parent="Theme.Mastodon.Dark.CustomBase">
<!-- needed to disable scrim on API 29+ -->
<item name="android:colorBackground">@color/m3_gray_700</item>
<item name="colorButtonText">@color/m3_gray_800</item>
<item name="colorBackgroundLight">@color/m3_gray_700</item>
<item name="colorBackgroundLightest">@color/m3_gray_900</item>
<item name="colorBackgroundPopup">@color/m3_gray_900</item>
<item name="colorDarkIcon">@color/m3_gray_25</item>
<item name="colorWindowBackground">@color/m3_gray_800</item>
<item name="android:statusBarColor">@color/m3_gray_800</item>
<item name="android:navigationBarColor">@color/m3_gray_800</item>
<item name="colorPollVoted">@color/m3_gray_600</item>
<item name="profileHeaderBackground">?colorWindowBackground</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Dark.CustomBase</item>
<item name="android:colorAccent">@color/m3_primary_400</item>
<item name="android:colorPrimary">@color/m3_gray_50</item>
<item name="android:textColorPrimary">@color/m3_gray_50</item>
<item name="android:textColorSecondary">@color/m3_gray_400</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.M3</item>
<item name="colorPollMostVoted">@color/m3_primary_700</item>
<item name="colorAccentLight">@color/m3_primary_600</item>
<item name="colorAccentLightest">@color/m3_primary_800</item>
<item name="colorTabInactive">@color/m3_gray_400</item>
<item name="colorSearchHint">@color/m3_gray_300</item>
<item name="colorSecondary">@color/m3_gray_50</item>
<!-- TODO dark colors -->
<item name="colorSearchField">@color/m3_gray_700</item>
</style>
<style name="Theme.Mastodon.Dark.TrueBlack.Material3" parent="Theme.Mastodon.Dark.Material3">
<item name="android:colorAccent">@color/m3_primary_400</item>
<item name="colorPollMostVoted">@color/m3_primary_700</item>
<item name="colorAccentLight">@color/m3_primary_600</item>
<item name="colorAccentLightest">@color/m3_primary_800</item>
<item name="colorSecondary">@color/m3_gray_50</item>
<item name="colorPollVoted">@color/m3_gray_800</item>
<item name="colorSearchField">@color/m3_gray_900</item>
<item name="colorBackgroundPopup">@color/m3_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.Material3" parent="Theme.Mastodon.Light.Material3"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Material3" parent="Theme.Mastodon.Light.Material3"/>
<style name="Theme.Mastodon.Dialog.Alert.Dark.M3" 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/m3_primary_600</item>
<item name="android:colorPrimary">@color/m3_gray_50</item>
<item name="android:colorBackground">@color/m3_gray_700</item>
<item name="android:textColorPrimary">@color/m3_gray_50</item>
<item name="android:textColorSecondary">@color/m3_gray_400</item>
</style>
<style name="Theme.Mastodon.Dialog.Alert.M3" 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/m3_primary_700</item>
<item name="android:colorPrimary">@color/m3_gray_800</item>
<item name="android:colorBackground">@color/m3_gray_100</item>
<item name="android:textColorPrimary">@color/m3_gray_800</item>
<item name="android:textColorSecondary">@color/m3_gray_500</item>
</style>
<style name="Theme.Mastodon.Toolbar.M3" parent="android:ThemeOverlay.Material.ActionBar">
<item name="android:colorPrimary">@color/m3_gray_50</item>
<item name="android:textColorPrimary">@color/m3_gray_800</item>
<item name="android:textColorSecondary">@color/m3_gray_800</item>
</style>
<style name="Theme.Mastodon.Light.Green" parent="Theme.Mastodon.Light.CustomBase"> <style name="Theme.Mastodon.Light.Green" parent="Theme.Mastodon.Light.CustomBase">
<item name="android:colorAccent">@color/green_primary_700</item> <item name="android:colorAccent">@color/green_primary_700</item>
<item name="android:colorBackground">@color/green_gray_100</item> <item name="android:colorBackground">@color/green_gray_100</item>
@@ -501,45 +386,45 @@
<item name="android:textColorSecondary">@color/custom_gray_800</item> <item name="android:textColorSecondary">@color/custom_gray_800</item>
</style> </style>
<style name="Theme.Mastodon.Light.Orange" parent="Theme.Mastodon.Light.CustomBase"> <style name="Theme.Mastodon.Light.Brown" parent="Theme.Mastodon.Light.CustomBase">
<item name="android:colorAccent">@color/orange_primary_700</item> <item name="android:colorAccent">@color/brown_primary_700</item>
<item name="android:colorBackground">@color/orange_gray_100</item> <item name="android:colorBackground">@color/brown_gray_100</item>
<item name="colorButtonText">@color/orange_gray_50</item> <item name="colorButtonText">@color/brown_gray_50</item>
<item name="colorBackgroundLight">@color/orange_gray_50</item> <item name="colorBackgroundLight">@color/brown_gray_50</item>
<item name="colorBackgroundLightest">@color/orange_gray_25</item> <item name="colorBackgroundLightest">@color/brown_gray_25</item>
<item name="android:statusBarColor">@color/orange_gray_50</item> <item name="android:statusBarColor">@color/brown_gray_50</item>
<item name="android:navigationBarColor">@color/orange_navigation_bar_bg</item> <item name="android:navigationBarColor">@color/brown_navigation_bar_bg</item>
<item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Orange</item> <item name="android:actionBarTheme">@style/Theme.Mastodon.Toolbar.Brown</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Orange</item> <item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Brown</item>
<item name="colorPollMostVoted">@color/orange_primary_500</item> <item name="colorPollMostVoted">@color/brown_primary_500</item>
<item name="colorPollVoted">@color/orange_gray_300</item> <item name="colorPollVoted">@color/brown_gray_200</item>
<item name="colorAccentLight">@color/orange_primary_600</item> <item name="colorAccentLight">@color/brown_primary_600</item>
<item name="colorSearchField">@color/orange_gray_200</item> <item name="colorSearchField">@color/brown_gray_200</item>
<item name="colorTabInactive">@color/orange_gray_400</item> <item name="colorTabInactive">@color/brown_gray_400</item>
<item name="colorAccentLightest">@color/orange_primary_100</item> <item name="colorAccentLightest">@color/brown_primary_100</item>
<item name="colorSecondary">@color/orange_gray_50</item> <item name="colorSecondary">@color/brown_gray_50</item>
</style> </style>
<style name="Theme.Mastodon.Dark.Orange" parent="Theme.Mastodon.Dark.CustomBase"> <style name="Theme.Mastodon.Dark.Brown" parent="Theme.Mastodon.Dark.CustomBase">
<item name="android:colorAccent">@color/orange_primary_400</item> <item name="android:colorAccent">@color/brown_primary_400</item>
<item name="android:colorPrimary">@color/orange_gray_50</item> <item name="android:colorPrimary">@color/brown_gray_50</item>
<item name="android:textColorPrimary">@color/orange_gray_50</item> <item name="android:textColorPrimary">@color/brown_gray_50</item>
<item name="android:textColorSecondary">@color/orange_gray_400</item> <item name="android:textColorSecondary">@color/brown_gray_400</item>
<item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.Orange</item> <item name="android:alertDialogTheme">@style/Theme.Mastodon.Dialog.Alert.Dark.Brown</item>
<item name="colorPollMostVoted">@color/orange_primary_700</item> <item name="colorPollMostVoted">@color/brown_primary_700</item>
<item name="colorAccentLight">@color/orange_primary_600</item> <item name="colorAccentLight">@color/brown_primary_600</item>
<item name="colorAccentLightest">@color/orange_primary_800</item> <item name="colorAccentLightest">@color/brown_primary_800</item>
<item name="colorTabInactive">@color/orange_gray_400</item> <item name="colorTabInactive">@color/brown_gray_400</item>
<item name="colorSearchHint">@color/orange_gray_300</item> <item name="colorSearchHint">@color/brown_gray_300</item>
<item name="colorSecondary">@color/orange_gray_50</item> <item name="colorSecondary">@color/brown_gray_50</item>
</style> </style>
<style name="Theme.Mastodon.Dark.TrueBlack.Orange" parent="Theme.Mastodon.Dark.Orange"> <style name="Theme.Mastodon.Dark.TrueBlack.Brown" parent="Theme.Mastodon.Dark.Brown">
<item name="android:colorAccent">@color/orange_primary_400</item> <item name="android:colorAccent">@color/brown_primary_400</item>
<item name="colorPollMostVoted">@color/orange_primary_700</item> <item name="colorPollMostVoted">@color/brown_primary_700</item>
<item name="colorAccentLight">@color/orange_primary_600</item> <item name="colorAccentLight">@color/brown_primary_600</item>
<item name="colorAccentLightest">@color/orange_primary_800</item> <item name="colorAccentLightest">@color/brown_primary_800</item>
<item name="colorSecondary">@color/orange_gray_50</item> <item name="colorSecondary">@color/brown_gray_50</item>
<item name="colorPollVoted">@color/custom_gray_800</item> <item name="colorPollVoted">@color/custom_gray_800</item>
<item name="colorSearchField">@color/custom_gray_900</item> <item name="colorSearchField">@color/custom_gray_900</item>
@@ -554,39 +439,39 @@
<item name="colorBackgroundLightest">@color/black</item> <item name="colorBackgroundLightest">@color/black</item>
</style> </style>
<style name="Theme.Mastodon.AutoLightDark.Orange" parent="Theme.Mastodon.Light.Orange"/> <style name="Theme.Mastodon.AutoLightDark.Brown" parent="Theme.Mastodon.Light.Brown"/>
<style name="Theme.Mastodon.AutoLightDark.TrueBlack.Orange" parent="Theme.Mastodon.Light.Orange"/> <style name="Theme.Mastodon.AutoLightDark.TrueBlack.Brown" parent="Theme.Mastodon.Light.Brown"/>
<style name="Theme.Mastodon.Dialog.Alert.Dark.Orange" parent="android:Theme.Material.Dialog.Alert"> <style name="Theme.Mastodon.Dialog.Alert.Dark.Brown" parent="android:Theme.Material.Dialog.Alert">
<item name="android:windowTitleStyle">@style/alert_title</item> <item name="android:windowTitleStyle">@style/alert_title</item>
<item name="android:dialogPreferredPadding">24dp</item> <item name="android:dialogPreferredPadding">24dp</item>
<item name="android:windowBackground">@drawable/bg_alert</item> <item name="android:windowBackground">@drawable/bg_alert</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item> <item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
<!-- colors --> <!-- colors -->
<item name="android:colorAccent">@color/orange_primary_600</item> <item name="android:colorAccent">@color/brown_primary_600</item>
<item name="android:colorPrimary">@color/orange_gray_50</item> <item name="android:colorPrimary">@color/brown_gray_50</item>
<item name="android:colorBackground">@color/custom_gray_700</item> <item name="android:colorBackground">@color/custom_gray_700</item>
<item name="android:textColorPrimary">@color/orange_gray_50</item> <item name="android:textColorPrimary">@color/brown_gray_50</item>
<item name="android:textColorSecondary">@color/orange_gray_400</item> <item name="android:textColorSecondary">@color/brown_gray_400</item>
</style> </style>
<style name="Theme.Mastodon.Dialog.Alert.Orange" parent="android:Theme.Material.Light.Dialog.Alert"> <style name="Theme.Mastodon.Dialog.Alert.Brown" parent="android:Theme.Material.Light.Dialog.Alert">
<item name="android:windowTitleStyle">@style/alert_title</item> <item name="android:windowTitleStyle">@style/alert_title</item>
<item name="android:dialogPreferredPadding">24dp</item> <item name="android:dialogPreferredPadding">24dp</item>
<item name="android:windowBackground">@drawable/bg_alert</item> <item name="android:windowBackground">@drawable/bg_alert</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item> <item name="android:buttonBarButtonStyle">@style/Widget.Mastodon.ButtonBarButton</item>
<!-- colors --> <!-- colors -->
<item name="android:colorAccent">@color/orange_primary_700</item> <item name="android:colorAccent">@color/brown_primary_700</item>
<item name="android:colorPrimary">@color/custom_gray_800</item> <item name="android:colorPrimary">@color/custom_gray_800</item>
<item name="android:colorBackground">@color/orange_gray_100</item> <item name="android:colorBackground">@color/brown_gray_100</item>
<item name="android:textColorPrimary">@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="android:textColorSecondary">@color/custom_gray_500</item>
</style> </style>
<style name="Theme.Mastodon.Toolbar.Orange" parent="android:ThemeOverlay.Material.ActionBar"> <style name="Theme.Mastodon.Toolbar.Brown" parent="android:ThemeOverlay.Material.ActionBar">
<item name="android:colorPrimary">@color/orange_gray_50</item> <item name="android:colorPrimary">@color/brown_gray_50</item>
<item name="android:textColorPrimary">@color/custom_gray_800</item> <item name="android:textColorPrimary">@color/custom_gray_800</item>
<item name="android:textColorSecondary">@color/custom_gray_800</item> <item name="android:textColorSecondary">@color/custom_gray_800</item>
</style> </style>
@@ -712,12 +597,20 @@
<item name="android:colorPrimary">@color/gray_50</item> <item name="android:colorPrimary">@color/gray_50</item>
<item name="android:textColorPrimary">@color/gray_800</item> <item name="android:textColorPrimary">@color/gray_800</item>
<item name="android:textColorSecondary">@color/gray_800</item> <item name="android:textColorSecondary">@color/gray_800</item>
<item name="android:toolbarStyle">@style/Widget.Mastodon.Toolbar</item>
</style> </style>
<style name="Theme.Mastodon.Toolbar.Dark" parent="android:ThemeOverlay.Material.Dark.ActionBar"> <style name="Theme.Mastodon.Toolbar.Dark" parent="android:ThemeOverlay.Material.Dark.ActionBar">
<item name="android:colorPrimary">@color/gray_800</item> <item name="android:colorPrimary">@color/gray_800</item>
<item name="android:textColorPrimary">@color/gray_50</item> <item name="android:textColorPrimary">@color/gray_50</item>
<item name="android:textColorSecondary">@color/gray_50</item> <item name="android:textColorSecondary">@color/gray_50</item>
<item name="android:toolbarStyle">@style/Widget.Mastodon.Toolbar</item>
</style>
<style name="Widget.Mastodon.Toolbar" parent="android:Widget.Material.Toolbar">
<item name="android:contentInsetStartWithNavigation">0dp</item>
<item name="android:titleMarginEnd">0dp</item>
<item name="android:titleMarginStart">0dp</item>
</style> </style>
<style name="Theme.Mastodon.Toolbar.Dark.CustomBase" parent="android:ThemeOverlay.Material.Dark.ActionBar"> <style name="Theme.Mastodon.Toolbar.Dark.CustomBase" parent="android:ThemeOverlay.Material.Dark.ActionBar">
@@ -726,12 +619,6 @@
<item name="android:textColorSecondary">@color/gray_50</item> <item name="android:textColorSecondary">@color/gray_50</item>
</style> </style>
<style name="Theme.Mastodon.Toolbar.Dark.Material3" parent="android:ThemeOverlay.Material.Dark.ActionBar">
<item name="android:colorPrimary">@color/m3_gray_800</item>
<item name="android:textColorPrimary">@color/m3_gray_50</item>
<item name="android:textColorSecondary">@color/m3_gray_50</item>
</style>
<style name="Theme.Mastodon.Toolbar.Dark.TrueBlack" parent="android:ThemeOverlay.Material.Dark.ActionBar"> <style name="Theme.Mastodon.Toolbar.Dark.TrueBlack" parent="android:ThemeOverlay.Material.Dark.ActionBar">
<item name="android:colorPrimary">@color/black</item> <item name="android:colorPrimary">@color/black</item>
</style> </style>

View File

@@ -1,4 +1,4 @@
Megalodon ist eine modifizierte Version der <a href="https://github.com/mastodon/mastodon-android">offiziellen Mastodon-Android-App</a> mit vielen Features, die in der offiziellen App fehlen, z.B. die föderierte Timeline, ungelistete Beiträge posten und die Möglichkeit, Bildbeschreibungen anzuzeigen. Megalodon ist eine modifizierte Version der <a href="https://github.com/mastodon/mastodon-android">offiziellen Mastodon-Android-App</a> mit vielen Features, die in der offiziellen App fehlen, z.B. die föderierte Timeline, ungelistete Beiträge posten, Lesezeichen und die Möglichkeit, Bildbeschreibungen anzuzeigen.
<b>Die wichtigsten Features</b> <b>Die wichtigsten Features</b>
@@ -6,6 +6,12 @@ Megalodon ist eine modifizierte Version der <a href="https://github.com/mastodon
- <b>Föderierte Timeline</b>: Alle öffentlichen Beiträge aller anderen Fediverse-Nachbarschaften, mit denen deine Heim-Instanz verbunden ist. - <b>Föderierte Timeline</b>: Alle öffentlichen Beiträge aller anderen Fediverse-Nachbarschaften, mit denen deine Heim-Instanz verbunden ist.
- <b>Bildbeschreibungen anzeigen</b>: Unkompliziert prüfen, ob Bilder und Videos Alternativ-Texte beinhalten. - <b>Bildbeschreibungen anzeigen</b>: Unkompliziert prüfen, ob Bilder und Videos Alternativ-Texte beinhalten.
- <b>Beiträge anpinnen</b>: Pinne deine wichtigsten Beiträge an dein Profil an und sieh im “Angepinnt”-Tab nach, was andere User_innen angepinnt haben. - <b>Beiträge anpinnen</b>: Pinne deine wichtigsten Beiträge an dein Profil an und sieh im “Angepinnt”-Tab nach, was andere User_innen angepinnt haben.
- <b>Lesezeichen</b>: Schnell und einfach Beiträge speichern und später in der Lesezeichen-Liste wieder finden.
- <b>Hashtags folgen</b>: Bringt neue Beiträge bestimmter Hashtags direkt in deine Home-Timeline. - <b>Hashtags folgen</b>: Bringt neue Beiträge bestimmter Hashtags direkt in deine Home-Timeline.
- <b>Folgeanfragen beantworten</b>: Folgeanfragen lassen sich nun direkt über die Benachrichtigungen-Liste oder über die Folgeanfragen-Liste akzeptieren oder ablehnen. - <b>Folgeanfragen beantworten</b>: Folgeanfragen lassen sich nun direkt über die Benachrichtigungen-Liste oder über die Folgeanfragen-Liste akzeptieren oder ablehnen.
- <b>Beiträge löschen und neu erstellen</b>: Das beliebte Feature, das das Bearbeiten von Beiträgen ohne tatsächliche Bearbeit-Funktion möglich gemacht hat. - <b>Beiträge löschen und neu erstellen</b>: Das beliebte Feature, das das Bearbeiten von Beiträgen ohne tatsächliche Bearbeit-Funktion möglich gemacht hat.
<b>Aus der offiziellen App vorab verfügbar</b>
- Beiträge bearbeiten
- Integrierter Updater für GitHub-Releases

View File

@@ -1,5 +1,4 @@
- Custom color themes by @LucasGGamerM - Custom color themes by @LucasGGamerM
- New "megalodon" text logo submitted by @LucasGGamerM
- Better emoji search while composing - Better emoji search while composing
- Tweaked voting (display own vote, always display vote button, don't cut off long answers) - Tweaked voting (display own vote, always display vote button, don't cut off long answers)
- Add push notification setting for post notifications - Add push notification setting for post notifications

View File

@@ -1,4 +1,4 @@
Megalodon is a modified version of the <a href="https://github.com/mastodon/mastodon-android">official Mastodon Android app</a> adding important features that are missing in the official app, such as the federated timeline, unlisted posting and an image description viewer. Megalodon is a modified version of the <a href="https://github.com/mastodon/mastodon-android">official Mastodon Android app</a> adding important features that are missing in the official app, such as the federated timeline, unlisted posting, bookmarks and an image description viewer.
<b>Key features</b> <b>Key features</b>
@@ -6,6 +6,12 @@ Megalodon is a modified version of the <a href="https://github.com/mastodon/mast
- <b>Federated timeline</b>: See all public posts from people on all other Fediverse neighborhoods your home instance is connected to. - <b>Federated timeline</b>: See all public posts from people on all other Fediverse neighborhoods your home instance is connected to.
- <b>Image description viewer</b>: Quickly check whether an image or video has an alt text attached to it. - <b>Image description viewer</b>: Quickly check whether an image or video has an alt text attached to it.
- <b>Pinning posts</b>: Pin your most important posts to your profile and see what others have pinned using the “Pinned“ tab. - <b>Pinning posts</b>: Pin your most important posts to your profile and see what others have pinned using the “Pinned“ tab.
- <b>Bookmarks</b>: Quickly save posts and find them later in the Bookmarks list.
- <b>Follow hashtags</b>: See new posts from specific hashtags directly in your home timeline by following them. - <b>Follow hashtags</b>: See new posts from specific hashtags directly in your home timeline by following them.
- <b>Answering follow requests</b>: Accept or decline follow requests from your notifications or the dedicated Follow requests list. - <b>Answering follow requests</b>: Accept or decline follow requests from your notifications or the dedicated Follow requests list.
- <b>Delete and re-draft</b>: The much-loved feature that made editing possible without an actual editing function. - <b>Delete and re-draft</b>: The much-loved feature that made editing possible without an actual editing function.
<b>Unreleased official features, available in advance</b>
- Editing posts
- Integrated updater for GitHub releases

View File

@@ -6,5 +6,5 @@ dependencyResolutionManagement {
mavenLocal() mavenLocal()
} }
} }
rootProject.name = "Moshidon" rootProject.name = "Megalodon"
include ':mastodon' include ':mastodon'