misc improvements
This commit is contained in:
parent
ab3d3ff068
commit
7269444a31
6 changed files with 26 additions and 6 deletions
|
@ -13,7 +13,7 @@ android {
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
manifestPlaceholders = [oAuthScheme:"moshidon-android-auth"]
|
manifestPlaceholders = [oAuthScheme:"moshidon-android-auth"]
|
||||||
archivesBaseName = "moshidon"
|
archivesBaseName = "moshidon"
|
||||||
applicationId "org.joinmastodon.android.moshinda.luke"
|
applicationId "org.joinmastodon.android.moshinda"
|
||||||
minSdk 23
|
minSdk 23
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionCode 108
|
versionCode 108
|
||||||
|
|
2
mastodon/proguard-rules.pro
vendored
2
mastodon/proguard-rules.pro
vendored
|
@ -20,6 +20,8 @@
|
||||||
# hide the original source file name.
|
# hide the original source file name.
|
||||||
#-renamesourcefileattribute SourceFile
|
#-renamesourcefileattribute SourceFile
|
||||||
|
|
||||||
|
-dontwarn android.app.BroadcastOptions
|
||||||
|
|
||||||
# Keep all model classes as they're used with gson and their names are shown in errors
|
# Keep all model classes as they're used with gson and their names are shown in errors
|
||||||
-keep public class org.joinmastodon.android.model.**{
|
-keep public class org.joinmastodon.android.model.**{
|
||||||
<fields>;
|
<fields>;
|
||||||
|
|
|
@ -226,9 +226,13 @@ public class MastodonAPIController{
|
||||||
}catch(JsonIOException|JsonSyntaxException x){
|
}catch(JsonIOException|JsonSyntaxException x){
|
||||||
req.onError(response.code()+" "+response.message(), response.code(), x);
|
req.onError(response.code()+" "+response.message(), response.code(), x);
|
||||||
}catch(Exception x){
|
}catch(Exception x){
|
||||||
|
if (response.code() == 501){
|
||||||
|
req.onError("API route not implemented: " + response.request().url(), response.code(), x);
|
||||||
|
} else {
|
||||||
req.onError("Error parsing an API error", response.code(), x);
|
req.onError("Error parsing an API error", response.code(), x);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}catch(Exception x){
|
}catch(Exception x){
|
||||||
Log.w(TAG, "onResponse: error processing response", x);
|
Log.w(TAG, "onResponse: error processing response", x);
|
||||||
onFailure(call, (IOException) new IOException(x).fillInStackTrace());
|
onFailure(call, (IOException) new IOException(x).fillInStackTrace());
|
||||||
|
|
|
@ -12,6 +12,7 @@ import android.graphics.drawable.Icon;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.joinmastodon.android.BuildConfig;
|
import org.joinmastodon.android.BuildConfig;
|
||||||
import org.joinmastodon.android.E;
|
import org.joinmastodon.android.E;
|
||||||
|
@ -126,7 +127,7 @@ public class AccountSessionManager{
|
||||||
wrapper.instance = instance;
|
wrapper.instance = instance;
|
||||||
MastodonAPIController.runInBackground(()->writeInstanceInfoFile(wrapper, instance.uri));
|
MastodonAPIController.runInBackground(()->writeInstanceInfoFile(wrapper, instance.uri));
|
||||||
|
|
||||||
updateMoreInstanceInfo(instance, instance.uri);
|
updateMoreInstanceInfo(instance, AccountSessionManager.get(session.getID()).domain);
|
||||||
if (UnifiedPushHelper.isUnifiedPushEnabled(context)) {
|
if (UnifiedPushHelper.isUnifiedPushEnabled(context)) {
|
||||||
UnifiedPush.register(
|
UnifiedPush.register(
|
||||||
context,
|
context,
|
||||||
|
@ -390,7 +391,7 @@ public class AccountSessionManager{
|
||||||
public void onError(ErrorResponse errorResponse) {
|
public void onError(ErrorResponse errorResponse) {
|
||||||
updateInstanceEmojis(instance, domain);
|
updateInstanceEmojis(instance, domain);
|
||||||
}
|
}
|
||||||
}).execNoAuth(instance.uri);
|
}).execNoAuth(domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateInstanceEmojis(Instance instance, String domain){
|
private void updateInstanceEmojis(Instance instance, String domain){
|
||||||
|
|
|
@ -818,6 +818,9 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||||
UiUtils.enableOptionsMenuIcons(getActivity(), menu, R.id.scheduled, R.id.bookmarks);
|
UiUtils.enableOptionsMenuIcons(getActivity(), menu, R.id.scheduled, R.id.bookmarks);
|
||||||
}else{
|
}else{
|
||||||
UiUtils.enableOptionsMenuIcons(getActivity(), menu, R.id.edit_note, R.id.biteuser_btn);
|
UiUtils.enableOptionsMenuIcons(getActivity(), menu, R.id.edit_note, R.id.biteuser_btn);
|
||||||
|
if (isInstanceIceshrimp()){
|
||||||
|
UiUtils.enableOptionsMenuIcons(getActivity(), menu, R.id.biteuser_btn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
boolean hasMultipleAccounts = AccountSessionManager.getInstance().getLoggedInAccounts().size() > 1;
|
boolean hasMultipleAccounts = AccountSessionManager.getInstance().getLoggedInAccounts().size() > 1;
|
||||||
menu.findItem(R.id.open_with_account).setVisible(hasMultipleAccounts);
|
menu.findItem(R.id.open_with_account).setVisible(hasMultipleAccounts);
|
||||||
|
|
|
@ -15,6 +15,8 @@ import android.view.ViewGroup;
|
||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
|
import android.widget.Toast;
|
||||||
|
import android.widget.Toolbar;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
@ -190,7 +192,12 @@ public class EmojiReactionsStatusDisplayItem extends StatusDisplayItem {
|
||||||
instance=item.parentFragment.getInstance().get();
|
instance=item.parentFragment.getInstance().get();
|
||||||
if(instance.configuration!=null && instance.configuration.reactions!=null && instance.configuration.reactions.maxReactions!=0){
|
if(instance.configuration!=null && instance.configuration.reactions!=null && instance.configuration.reactions.maxReactions!=0){
|
||||||
meReactionCount=(int) item.status.reactions.stream().filter(r->r.me).count();
|
meReactionCount=(int) item.status.reactions.stream().filter(r->r.me).count();
|
||||||
boolean canReact=meReactionCount<instance.configuration.reactions.maxReactions;
|
boolean canReact;
|
||||||
|
if (instance.isIceshrimp()){
|
||||||
|
canReact = true;
|
||||||
|
}else{
|
||||||
|
canReact=meReactionCount<instance.configuration.reactions.maxReactions;
|
||||||
|
}
|
||||||
addButton.setClickable(canReact);
|
addButton.setClickable(canReact);
|
||||||
addButton.setAlpha(canReact ? 1 : ALPHA_DISABLED);
|
addButton.setAlpha(canReact ? 1 : ALPHA_DISABLED);
|
||||||
}
|
}
|
||||||
|
@ -573,7 +580,7 @@ public class EmojiReactionsStatusDisplayItem extends StatusDisplayItem {
|
||||||
}, null).exec(parent.parentFragment.getAccountID());
|
}, null).exec(parent.parentFragment.getAccountID());
|
||||||
});
|
});
|
||||||
|
|
||||||
if (parent.parentFragment.isInstanceAkkoma()) {
|
if (parent.parentFragment.isInstanceAkkoma() || parent.parentFragment.isInstanceIceshrimp()) {
|
||||||
// glitch-soc doesn't have this, afaik
|
// glitch-soc doesn't have this, afaik
|
||||||
btn.setOnLongClickListener(e->{
|
btn.setOnLongClickListener(e->{
|
||||||
EmojiReaction emojiReaction=parent.status.reactions.get(getAbsoluteAdapterPosition());
|
EmojiReaction emojiReaction=parent.status.reactions.get(getAbsoluteAdapterPosition());
|
||||||
|
@ -584,6 +591,9 @@ public class EmojiReactionsStatusDisplayItem extends StatusDisplayItem {
|
||||||
args.putString("emoji", atSymbolIndex != -1 ? emojiReaction.name.substring(0, atSymbolIndex) : emojiReaction.name);
|
args.putString("emoji", atSymbolIndex != -1 ? emojiReaction.name.substring(0, atSymbolIndex) : emojiReaction.name);
|
||||||
args.putString("url", emojiReaction.getUrl(parent.playGifs));
|
args.putString("url", emojiReaction.getUrl(parent.playGifs));
|
||||||
args.putInt("count", emojiReaction.count);
|
args.putInt("count", emojiReaction.count);
|
||||||
|
if (emojiReaction.url != null) {
|
||||||
|
Toast.makeText(e.getContext(), ":" + emojiReaction.name + ":", Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
Nav.go(parent.parentFragment.getActivity(), StatusEmojiReactionsListFragment.class, args);
|
Nav.go(parent.parentFragment.getActivity(), StatusEmojiReactionsListFragment.class, args);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Reference in a new issue