diff --git a/settings.gradle b/settings.gradle index 9cc1bc32a..d131e13f4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -5,5 +5,4 @@ include ':twidere.wear' include ':twidere.donate.nyanwp' include ':twidere.donate.nyanwp.wear' include ':twidere.component.nyan' -include ':twidere.extension.twitlonger' include ':twidere.extension.shortener.gist' \ No newline at end of file diff --git a/twidere.component.common/src/main/java/com/bluelinelabs/logansquare/ParameterizedTypeAccessor.java b/twidere.component.common/src/main/java/com/bluelinelabs/logansquare/Twidere_ParameterizedTypeAccessor.java similarity index 95% rename from twidere.component.common/src/main/java/com/bluelinelabs/logansquare/ParameterizedTypeAccessor.java rename to twidere.component.common/src/main/java/com/bluelinelabs/logansquare/Twidere_ParameterizedTypeAccessor.java index 75c96fc85..0c3ebef95 100644 --- a/twidere.component.common/src/main/java/com/bluelinelabs/logansquare/ParameterizedTypeAccessor.java +++ b/twidere.component.common/src/main/java/com/bluelinelabs/logansquare/Twidere_ParameterizedTypeAccessor.java @@ -24,7 +24,7 @@ import java.lang.reflect.Type; /** * Created by mariotaku on 15/12/13. */ -public class ParameterizedTypeAccessor { +public class Twidere_ParameterizedTypeAccessor { public static ParameterizedType create(Type type) { return new ParameterizedType.ConcreteParameterizedType<>(type); diff --git a/twidere.component.common/src/main/java/org/mariotaku/twidere/annotation/PreferenceType.java b/twidere.component.common/src/main/java/org/mariotaku/twidere/annotation/PreferenceType.java index bc02735f5..a1b2e04e9 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/twidere/annotation/PreferenceType.java +++ b/twidere.component.common/src/main/java/org/mariotaku/twidere/annotation/PreferenceType.java @@ -2,11 +2,15 @@ package org.mariotaku.twidere.annotation; import android.support.annotation.IntDef; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * Created by mariotaku on 16/1/8. */ @IntDef({PreferenceType.BOOLEAN, PreferenceType.INT, PreferenceType.LONG, PreferenceType.FLOAT, PreferenceType.STRING, PreferenceType.NULL, PreferenceType.INVALID}) +@Retention(RetentionPolicy.SOURCE) public @interface PreferenceType { int BOOLEAN = 1, INT = 2, LONG = 3, FLOAT = 4, STRING = 5, NULL = 0, INVALID = -1; } diff --git a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/Activity.java b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/Activity.java index 0aba1466f..9f9550356 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/Activity.java +++ b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/Activity.java @@ -23,6 +23,8 @@ import android.support.annotation.NonNull; import android.support.annotation.StringDef; import android.text.TextUtils; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.Arrays; import java.util.Date; @@ -174,6 +176,7 @@ public class Activity extends TwitterResponseObject implements TwitterResponse, Action.RETWEETED_RETWEET, Action.QUOTE, Action.RETWEETED_MENTION, Action.FAVORITED_MENTION, Action.JOINED_TWITTER, Action.MEDIA_TAGGED, Action.FAVORITED_MEDIA_TAGGED, Action.RETWEETED_MEDIA_TAGGED}) + @Retention(RetentionPolicy.SOURCE) public @interface Action { String FAVORITE = "favorite"; /** diff --git a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/DMResponse.java b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/DMResponse.java index ecb83b84f..1ec155c94 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/DMResponse.java +++ b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/DMResponse.java @@ -5,6 +5,8 @@ import android.support.annotation.StringDef; import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonObject; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.Map; /** @@ -74,6 +76,7 @@ public class DMResponse { } @StringDef({DMResponse.Status.HAS_MORE, DMResponse.Status.AT_END}) + @Retention(RetentionPolicy.SOURCE) public @interface Status { String HAS_MORE = "HAS_MORE"; String AT_END = "AT_END"; diff --git a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/ExtendedProfile.java b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/ExtendedProfile.java index 460fb818b..a2b5829f1 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/ExtendedProfile.java +++ b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/ExtendedProfile.java @@ -24,6 +24,9 @@ import android.support.annotation.StringDef; import com.bluelinelabs.logansquare.annotation.JsonField; import com.bluelinelabs.logansquare.annotation.JsonObject; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * Created by mariotaku on 15/7/8. */ @@ -84,9 +87,10 @@ public class ExtendedProfile { } @StringDef({Visibility.MUTUALFOLLOW, Visibility.PUBLIC}) + @Retention(RetentionPolicy.SOURCE) public @interface Visibility { - String MUTUALFOLLOW = ("mutualfollow"); - String PUBLIC = ("public"); + String MUTUALFOLLOW = "mutualfollow"; + String PUBLIC = "public"; } } diff --git a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/ScheduledStatus.java b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/ScheduledStatus.java index 377f4999b..8d4d49bc9 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/ScheduledStatus.java +++ b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/ScheduledStatus.java @@ -95,9 +95,9 @@ public class ScheduledStatus { } @StringDef({State.SCHEDULED, State.FAILED, State.CANCELED}) - @Retention(RetentionPolicy.CLASS) + @Retention(RetentionPolicy.SOURCE) public @interface State { - String SCHEDULED = ("scheduled"), FAILED = ("failed"), CANCELED = ("canceled"); + String SCHEDULED = "scheduled", FAILED = "failed", CANCELED = "canceled"; } } diff --git a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/TwitterResponse.java b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/TwitterResponse.java index f6b8c72ae..c697dc426 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/TwitterResponse.java +++ b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/TwitterResponse.java @@ -23,20 +23,10 @@ import android.support.annotation.IntDef; import org.mariotaku.restfu.http.HttpResponse; -/** - * Super interface of Twitter Response data interfaces which indicates that rate - * limit status is avaialble. - * - * @author Yusuke Yamamoto - yusuke at mac.com - * @see DirectMessage - * @see Status - * @see User - */ +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + public interface TwitterResponse { - int NONE = 0; - int READ = 1; - int READ_WRITE = 2; - int READ_WRITE_DIRECTMESSAGES = 3; void processResponseHeader(HttpResponse resp); @@ -45,8 +35,13 @@ public interface TwitterResponse { RateLimitStatus getRateLimitStatus(); - @IntDef({NONE, READ, READ_WRITE, READ_WRITE_DIRECTMESSAGES}) + @IntDef({AccessLevel.NONE, AccessLevel.READ, AccessLevel.READ_WRITE, AccessLevel.READ_WRITE_DIRECTMESSAGES}) + @Retention(RetentionPolicy.SOURCE) @interface AccessLevel { + int NONE = 0; + int READ = 1; + int READ_WRITE = 2; + int READ_WRITE_DIRECTMESSAGES = 3; } } diff --git a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/UserList.java b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/UserList.java index e016c5e92..2be4e244d 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/UserList.java +++ b/twidere.component.common/src/main/java/org/mariotaku/twidere/api/twitter/model/UserList.java @@ -27,6 +27,8 @@ import com.bluelinelabs.logansquare.annotation.JsonObject; import org.mariotaku.twidere.api.twitter.util.TwitterDateConverter; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.Date; /** @@ -148,6 +150,7 @@ public class UserList extends TwitterResponseObject implements Comparable JsonMapper mapperFor(Class cls) throws ClassLoaderDeadLockException { - return mapperFor(ParameterizedTypeAccessor.create(cls)); + return mapperFor(Twidere_ParameterizedTypeAccessor.create(cls)); } public static JsonMapper mapperFor(Type type) throws ClassLoaderDeadLockException { - return mapperFor(ParameterizedTypeAccessor.create(type)); + return mapperFor(Twidere_ParameterizedTypeAccessor.create(type)); } public static JsonMapper mapperFor(final ParameterizedType type) throws ClassLoaderDeadLockException { diff --git a/twidere.extension.twitlonger/.gitignore b/twidere.extension.twitlonger/.gitignore deleted file mode 100644 index 796b96d1c..000000000 --- a/twidere.extension.twitlonger/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/twidere.extension.twitlonger/build.gradle b/twidere.extension.twitlonger/build.gradle deleted file mode 100644 index e67a7aa9c..000000000 --- a/twidere.extension.twitlonger/build.gradle +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Twidere - Twitter client for Android - * - * Copyright (C) 2012-2015 Mariotaku Lee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -apply plugin: 'com.android.application' -apply plugin: 'com.neenbedankt.android-apt' - -android { - defaultConfig { - applicationId "org.mariotaku.twidere.extension.twitlonger" - minSdkVersion 14 - targetSdkVersion 23 - versionCode 7 - versionName "1.6" - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } -} - -dependencies { - apt 'com.bluelinelabs:logansquare-compiler:1.3.7' - compile 'com.github.mariotaku.RestFu:urlconnection:0.9.25' - compile project(':twidere.library.extension') - compile fileTree(dir: 'libs', include: ['*.jar']) -} diff --git a/twidere.extension.twitlonger/ic_launcher-web.png b/twidere.extension.twitlonger/ic_launcher-web.png deleted file mode 100644 index 35a6fa316..000000000 Binary files a/twidere.extension.twitlonger/ic_launcher-web.png and /dev/null differ diff --git a/twidere.extension.twitlonger/proguard-rules.pro b/twidere.extension.twitlonger/proguard-rules.pro deleted file mode 100644 index ee5b46f04..000000000 --- a/twidere.extension.twitlonger/proguard-rules.pro +++ /dev/null @@ -1,17 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in /Users/mariotaku/Tools/android-sdk/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/twidere.extension.twitlonger/src/androidTest/java/org/mariotaku/extension/twitlonger/ApplicationTest.java b/twidere.extension.twitlonger/src/androidTest/java/org/mariotaku/extension/twitlonger/ApplicationTest.java deleted file mode 100644 index cf1837ec8..000000000 --- a/twidere.extension.twitlonger/src/androidTest/java/org/mariotaku/extension/twitlonger/ApplicationTest.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Twidere - Twitter client for Android - * - * Copyright (C) 2012-2015 Mariotaku Lee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package org.mariotaku.extension.twitlonger; - -import android.app.Application; -import android.test.ApplicationTestCase; - -/** - * Testing Fundamentals - */ -public class ApplicationTest extends ApplicationTestCase { - public ApplicationTest() { - super(Application.class); - } -} \ No newline at end of file diff --git a/twidere.extension.twitlonger/src/main/AndroidManifest.xml b/twidere.extension.twitlonger/src/main/AndroidManifest.xml deleted file mode 100644 index dac539926..000000000 --- a/twidere.extension.twitlonger/src/main/AndroidManifest.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/twidere.extension.twitlonger/src/main/aidl/org/mariotaku/twidere/ITweetShortener.aidl b/twidere.extension.twitlonger/src/main/aidl/org/mariotaku/twidere/ITweetShortener.aidl deleted file mode 100644 index ad80c6d0b..000000000 --- a/twidere.extension.twitlonger/src/main/aidl/org/mariotaku/twidere/ITweetShortener.aidl +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Twidere - Twitter client for Android - * - * Copyright (C) 2012 Mariotaku Lee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package org.mariotaku.twidere; - -interface ITweetShortener { - String shorten(String text, String screen_name, long in_reply_to_status_id); -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/AboutActivity.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/AboutActivity.java deleted file mode 100644 index 57ea478d2..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/AboutActivity.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -import android.os.Bundle; -import android.preference.PreferenceActivity; - -public class AboutActivity extends PreferenceActivity { - - @SuppressWarnings("deprecation") - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - addPreferencesFromResource(R.xml.about); - } - -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/Constants.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/Constants.java deleted file mode 100644 index fedc31706..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/Constants.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -import org.mariotaku.twidere.TwidereConstants; - -public interface Constants extends TwidereConstants{ - - String TWITLONGER_API_KEY = "feOj9pqqqUR0Q9TON29qyQ6tQhW1jU4p"; -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/LoganSquareConverterFactory.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/LoganSquareConverterFactory.java deleted file mode 100644 index e26ddb487..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/LoganSquareConverterFactory.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Twidere - Twitter client for Android - * - * Copyright (C) 2012-2015 Mariotaku Lee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package org.mariotaku.twidere.extension.twitlonger; - -import android.support.annotation.NonNull; - -import com.bluelinelabs.logansquare.JsonMapper; -import com.fasterxml.jackson.core.JsonParseException; - -import org.mariotaku.restfu.RestConverter; -import org.mariotaku.restfu.http.HttpResponse; -import org.mariotaku.restfu.http.mime.Body; -import org.mariotaku.twidere.util.LoganSquareMapperFinder; - -import java.io.IOException; -import java.lang.reflect.Type; -import java.util.HashMap; -import java.util.Map; - -/** - * Created by mariotaku on 15/5/5. - */ -public class LoganSquareConverterFactory extends RestConverter.SimpleFactory { - - private static Map> sResponseConverters = new HashMap<>(); - private static Map> sBodyConverters = new HashMap<>(); - - - static { - } - - @NonNull - private static Object parseOrThrow(Body body, JsonMapper mapper) - throws IOException, TwitLongerException, RestConverter.ConvertException { - try { - final Object parsed = mapper.parse(body.stream()); - if (parsed == null) { - throw new TwitLongerException("Empty data"); - } - return parsed; - } catch (JsonParseException e) { - throw new RestConverter.ConvertException("Malformed JSON Data"); - } - } - - @Override - public RestConverter forResponse(Type type) throws RestConverter.ConvertException { - RestConverter converter = sResponseConverters.get(type); - if (converter != null) { - return converter; - } - final JsonMapper mapper; - try { - mapper = LoganSquareMapperFinder.mapperFor(type); - } catch (LoganSquareMapperFinder.ClassLoaderDeadLockException e) { - throw new RestConverter.ConvertException(e); - } - return new LoganSquareResponseConverter(mapper); - } - - @Override - public RestConverter forRequest(Type type) throws RestConverter.ConvertException { - final RestConverter converter = sBodyConverters.get(type); - if (converter != null) { - return converter; - } - return super.forRequest(type); - } - - public static class UnsupportedTypeException extends UnsupportedOperationException { - public UnsupportedTypeException(Type type) { - super("Unsupported type " + type); - } - } - - public static class LoganSquareResponseConverter implements RestConverter { - private final JsonMapper mapper; - - public LoganSquareResponseConverter(JsonMapper mapper) { - this.mapper = mapper; - } - - @Override - public Object convert(HttpResponse httpResponse) throws IOException, ConvertException, TwitLongerException { - final Body body = httpResponse.getBody(); - final Object object = parseOrThrow(body, mapper); - return object; - } - } - -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/NewPost.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/NewPost.java deleted file mode 100644 index ba304c7ff..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/NewPost.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -import org.mariotaku.restfu.http.SimpleValueMap; - -/** - * Created by mariotaku on 16/2/20. - */ -public class NewPost extends SimpleValueMap { - - public NewPost(String content) { - put("content", content); - } - - public void setInReplyTo(long inReplyToId, String inReplyToScreenName) { - put("reply_to_id", inReplyToId); - put("reply_to_screen_name", inReplyToScreenName); - } - -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/Post.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/Post.java deleted file mode 100644 index d47a162ad..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/Post.java +++ /dev/null @@ -1,29 +0,0 @@ - -package org.mariotaku.twidere.extension.twitlonger; - -import com.bluelinelabs.logansquare.annotation.JsonField; -import com.bluelinelabs.logansquare.annotation.JsonObject; - -@JsonObject -public class Post { - - @JsonField(name = "post_time") - public String postTime; - @JsonField(name = "reply_to_id") - public long replyToId; - @JsonField(name = "short_url") - public String shortUrl; - @JsonField(name = "screen_name") - public String screenName; - @JsonField(name = "full_url") - public String fullUrl; - @JsonField(name = "id") - public String id; - @JsonField(name = "twitter_status_id") - public Object twitterStatusId; - @JsonField(name = "tweet_content") - public String tweetContent; - @JsonField(name = "content") - public String content; - -} \ No newline at end of file diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/RequestPermissionActivity.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/RequestPermissionActivity.java deleted file mode 100644 index fee6c4296..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/RequestPermissionActivity.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -import android.app.Activity; -import android.content.Intent; -import android.os.Bundle; - -/** - * Created by mariotaku on 16/2/20. - */ -public class RequestPermissionActivity extends Activity implements Constants { - private static final int REQUEST_REQUEST_PERMISSION = 1; - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - switch (requestCode) { - case REQUEST_REQUEST_PERMISSION: { - finish(); - break; - } - } - super.onActivityResult(requestCode, resultCode, data); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - final Intent intent = new Intent(INTENT_ACTION_REQUEST_PERMISSIONS); - intent.setPackage(TWIDERE_PACKAGE_NAME); - startActivityForResult(intent, REQUEST_REQUEST_PERMISSION); - } -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TaskResponse.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TaskResponse.java deleted file mode 100644 index 9b2448cd0..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TaskResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -/** - * Created by mariotaku on 16/2/20. - */ -public class TaskResponse { - O object; - T throwable; - - public TaskResponse(T throwable) { - this.throwable = throwable; - } - - public TaskResponse(O object) { - this.object = object; - } - - public O getObject() { - return object; - } - - public T getThrowable() { - return throwable; - } - - public static TaskResponse getInstance(O post) { - return new TaskResponse<>(post); - } - - public static TaskResponse getInstance(T throwable) { - return new TaskResponse<>(throwable); - } - - public boolean hasError() { - return throwable != null; - } -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLonger.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLonger.java deleted file mode 100644 index 4978fdc33..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLonger.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -import org.mariotaku.restfu.annotation.method.GET; -import org.mariotaku.restfu.annotation.method.POST; -import org.mariotaku.restfu.annotation.method.PUT; -import org.mariotaku.restfu.annotation.param.Headers; -import org.mariotaku.restfu.annotation.param.KeyValue; -import org.mariotaku.restfu.annotation.param.Param; -import org.mariotaku.restfu.annotation.param.Path; - -/** - * Created by mariotaku on 16/2/20. - */ -@Headers({@KeyValue(key = "X-API-KEY", valueKey = "tl_api_key")}) -public interface TwitLonger { - - @GET("/2/posts/{post_id}") - Post getPost(@Path("post_id") String postId) throws TwitLongerException; - - @POST("/2/posts") - @Headers({@KeyValue(key = "X-API-KEY", valueKey = "tl_api_key"), - @KeyValue(key = "X-Auth-Service-Provider", value = "https://api.twitter.com/1.1/account/verify_credentials.json"), - @KeyValue(key = "X-Verify-Credentials-Authorization", valueKey = "oauth_echo_authorization")}) - Post createPost(@Param NewPost newPost) throws TwitLongerException; - - @PUT("/2/posts/{post_id}") - @Headers({@KeyValue(key = "X-API-KEY", valueKey = "tl_api_key"), - @KeyValue(key = "X-Auth-Service-Provider", value = "https://api.twitter.com/1.1/account/verify_credentials.json"), - @KeyValue(key = "X-Verify-Credentials-Authorization", valueKey = "oauth_echo_authorization")}) - Post updatePost(@Path("post_id") String postId, @Param("twitter_status_id") long twitterStatusId) - throws TwitLongerException; - -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerException.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerException.java deleted file mode 100644 index d1c135d8c..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerException.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -import org.mariotaku.restfu.http.HttpRequest; -import org.mariotaku.restfu.http.HttpResponse; - -/** - * Created by mariotaku on 16/2/20. - */ -public class TwitLongerException extends Exception { - - private HttpRequest request; - private HttpResponse response; - - public TwitLongerException() { - super(); - } - - public TwitLongerException(String detailMessage) { - super(detailMessage); - } - - public TwitLongerException(String detailMessage, Throwable throwable) { - super(detailMessage, throwable); - } - - public TwitLongerException(Throwable throwable) { - super(throwable); - } - - public HttpRequest getRequest() { - return request; - } - - public void setRequest(HttpRequest request) { - this.request = request; - } - - public HttpResponse getResponse() { - return response; - } - - public void setResponse(HttpResponse response) { - this.response = response; - } -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerFactory.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerFactory.java deleted file mode 100644 index f46dd2710..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerFactory.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -import android.support.annotation.Nullable; - -import org.mariotaku.restfu.ExceptionFactory; -import org.mariotaku.restfu.RestAPIFactory; -import org.mariotaku.restfu.RestRequest; -import org.mariotaku.restfu.annotation.method.GET; -import org.mariotaku.restfu.http.Endpoint; -import org.mariotaku.restfu.http.HttpRequest; -import org.mariotaku.restfu.http.HttpResponse; -import org.mariotaku.restfu.http.ValueMap; -import org.mariotaku.restfu.urlconnection.URLConnectionRestClient; -import org.mariotaku.twidere.api.twitter.auth.OAuthAuthorization; -import org.mariotaku.twidere.api.twitter.auth.OAuthEndpoint; -import org.mariotaku.twidere.api.twitter.auth.OAuthToken; -import org.mariotaku.twidere.model.ParcelableCredentials; - - -/** - * Created by mariotaku on 16/2/20. - */ -public class TwitLongerFactory { - - public static TwitLonger getInstance(final String apiKey, @Nullable final ParcelableCredentials credentials) { - final RestAPIFactory factory = new RestAPIFactory<>(); - factory.setEndpoint(new Endpoint("http://api.twitlonger.com/")); - factory.setHttpClient(new URLConnectionRestClient()); - factory.setConstantPool(new TwitLongerConstantPool(apiKey, credentials)); - factory.setExceptionFactory(new TwitLongerExceptionFactory()); - factory.setRestConverterFactory(new LoganSquareConverterFactory()); - return factory.build(TwitLonger.class); - } - - private static class TwitLongerConstantPool implements ValueMap { - private final String mApiKey; - private final OAuthAuthorization mAuthorization; - private final OAuthEndpoint mEndpoint; - private final RestRequest mRequest; - - public TwitLongerConstantPool(String apiKey, @Nullable ParcelableCredentials credentials) { - mApiKey = apiKey; - if (credentials != null) { - final OAuthToken accessToken = new OAuthToken(credentials.oauth_token, - credentials.oauth_token_secret); - mAuthorization = new OAuthAuthorization(credentials.consumer_key, - credentials.consumer_secret, accessToken); - mEndpoint = new OAuthEndpoint("https://api.twitter.com/1.1/"); - mRequest = new RestRequest(GET.METHOD, false, "/account/verify_credentials.json", null, - null, null, null, null, null); - } else { - mAuthorization = null; - mEndpoint = null; - mRequest = null; - } - } - - @Override - public boolean has(String key) { - switch (key) { - case "tl_api_key": - return true; - case "oauth_echo_authorization": - return mAuthorization != null; - } - return false; - } - - @Override - public Object get(String key) { - switch (key) { - case "tl_api_key": { - return mApiKey; - } - case "oauth_echo_authorization": { - if (mAuthorization != null) { - return mAuthorization.getHeader(mEndpoint, mRequest); - } - } - } - return null; - } - - @Override - public String[] keys() { - if (mAuthorization == null) return new String[]{"oauth_echo_authorization"}; - return new String[]{"tl_api_key", "oauth_echo_authorization"}; - } - } - - private static class TwitLongerExceptionFactory implements ExceptionFactory { - @Override - public TwitLongerException newException(Throwable throwable, HttpRequest httpRequest, HttpResponse httpResponse) { - TwitLongerException exception; - if (throwable != null) { - exception = new TwitLongerException(throwable); - } else { - exception = new TwitLongerException(); - } - exception.setRequest(httpRequest); - exception.setResponse(httpResponse); - return exception; - } - } -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerReaderActivity.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerReaderActivity.java deleted file mode 100644 index 3abbb1704..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerReaderActivity.java +++ /dev/null @@ -1,175 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -import android.app.Activity; -import android.content.Intent; -import android.net.Uri; -import android.os.AsyncTask; -import android.os.Bundle; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.Window; -import android.widget.ImageButton; -import android.widget.ProgressBar; -import android.widget.TextView; - -import org.mariotaku.twidere.Twidere; -import org.mariotaku.twidere.model.ParcelableStatus; -import org.mariotaku.twidere.model.SpanItem; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class TwitLongerReaderActivity extends Activity implements Constants, OnClickListener { - - private TextView mPreview; - private ImageButton mActionButton; - private ProgressBar mProgress; - private String mResult, mUser; - private ParcelableStatus mStatus; - private TwitLongerReaderTask mTwitLongerPostTask; - private static final Pattern PATTERN_TWITLONGER = Pattern.compile( - "((tl\\.gd|www.twitlonger.com/show)/([\\w\\d]+))", Pattern.CASE_INSENSITIVE); - private static final int GROUP_TWITLONGER_ID = 3; - - @Override - public void onClick(final View view) { - switch (view.getId()) { - case R.id.action: { - if (mResult == null) { - if (mStatus == null) return; - if (mTwitLongerPostTask != null) { - mTwitLongerPostTask.cancel(true); - } - if (mStatus.spans != null) { - for (SpanItem span : mStatus.spans) { - final Matcher m = PATTERN_TWITLONGER.matcher(span.link); - if (m.find()) { - mTwitLongerPostTask = new TwitLongerReaderTask(this); - mTwitLongerPostTask.execute(m.group(GROUP_TWITLONGER_ID)); - break; - } - } - } - } else { - if (mUser == null) return; - final Intent intent = new Intent(Intent.ACTION_SEND); - intent.setType("text/plain"); - intent.putExtra(Intent.EXTRA_TEXT, "@" + mUser + ": " + mResult); - startActivity(Intent.createChooser(intent, getString(R.string.share))); - } - break; - } - } - } - - @Override - protected void onCreate(final Bundle savedInstanceState) { - requestWindowFeature(Window.FEATURE_NO_TITLE); - super.onCreate(savedInstanceState); - final Intent intent = getIntent(); - final Uri data = intent.getData(); - final String action = intent.getAction(); - setContentView(R.layout.main); - mPreview = (TextView) findViewById(R.id.text); - mActionButton = (ImageButton) findViewById(R.id.action); - mProgress = (ProgressBar) findViewById(R.id.progress); - mResult = savedInstanceState != null ? savedInstanceState.getString(Twidere.EXTRA_TEXT) : null; - mUser = savedInstanceState != null ? savedInstanceState.getString(Twidere.EXTRA_USER) : null; - if (mResult == null || mUser == null) { - if (Twidere.INTENT_ACTION_EXTENSION_OPEN_STATUS.equals(action)) { - mStatus = Twidere.getStatusFromIntent(getIntent()); - if (mStatus == null || mStatus.spans == null) { - finish(); - return; - } - mUser = mStatus.user_screen_name; - mPreview.setText(mStatus.text_unescaped); - mActionButton.setEnabled(false); - for (SpanItem span : mStatus.spans) { - final Matcher m = PATTERN_TWITLONGER.matcher(span.link); - if (m.find()) { - mActionButton.setEnabled(true); - break; - } - } - } else if (Intent.ACTION_VIEW.equals(action) && data != null) { - mPreview.setText(data.toString()); - final Matcher m = PATTERN_TWITLONGER.matcher(data.toString()); - if (m.find()) { - if (mTwitLongerPostTask != null) { - mTwitLongerPostTask.cancel(true); - } - mTwitLongerPostTask = new TwitLongerReaderTask(this); - mTwitLongerPostTask.execute(m.group(GROUP_TWITLONGER_ID)); - } else { - finish(); - return; - } - } - } else { - mPreview.setText(mResult); - } - - } - - @Override - protected void onSaveInstanceState(final Bundle outState) { - outState.putString(Twidere.EXTRA_TEXT, mResult); - outState.putString(Twidere.EXTRA_USER, mUser); - super.onSaveInstanceState(outState); - } - - public static class TwitLongerReaderTask extends AsyncTask> { - - private final TwitLongerReaderActivity activity; - - public TwitLongerReaderTask(TwitLongerReaderActivity activity) { - this.activity = activity; - } - - @Override - protected TaskResponse doInBackground(final String... args) { - final TwitLonger tl = TwitLongerFactory.getInstance(TWITLONGER_API_KEY, null); - try { - return TaskResponse.getInstance(tl.getPost(args[0])); - } catch (final TwitLongerException e) { - return TaskResponse.getInstance(e); - } - } - - @Override - protected void onPostExecute(final TaskResponse result) { - if (result.hasError()) { - activity.showError(result.getThrowable()); - } else { - activity.showResult(result.getObject()); - } - super.onPostExecute(result); - } - - @Override - protected void onPreExecute() { - activity.showProgress(); - } - - } - - private void showProgress() { - mProgress.setVisibility(View.VISIBLE); - mActionButton.setVisibility(View.GONE); - } - - private void showResult(Post post) { - mProgress.setVisibility(View.GONE); - mActionButton.setVisibility(View.VISIBLE); - mActionButton.setImageResource(R.drawable.ic_menu_share); - mPreview.setText(post.content); - } - - private void showError(TwitLongerException e) { - mProgress.setVisibility(View.GONE); - mActionButton.setVisibility(View.VISIBLE); - mActionButton.setImageResource(R.drawable.ic_menu_send); - - } -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerStatusShortenerService.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerStatusShortenerService.java deleted file mode 100644 index 50c3ca6aa..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/TwitLongerStatusShortenerService.java +++ /dev/null @@ -1,141 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -import android.app.Notification; -import android.app.NotificationManager; -import android.app.PendingIntent; -import android.content.Intent; -import android.os.Build; -import android.support.annotation.Nullable; -import android.util.Log; - -import org.mariotaku.twidere.Twidere; -import org.mariotaku.twidere.model.ParcelableAccount; -import org.mariotaku.twidere.model.ParcelableCredentials; -import org.mariotaku.twidere.model.ParcelableStatus; -import org.mariotaku.twidere.model.ParcelableStatusUpdate; -import org.mariotaku.twidere.model.StatusShortenResult; -import org.mariotaku.twidere.model.UserKey; -import org.mariotaku.twidere.service.StatusShortenerService; - -/** - * Tweet shortener example - * - * @author mariotaku - */ -public class TwitLongerStatusShortenerService extends StatusShortenerService implements Constants { - - private static final int NOTIFICATION_ID_REQUEST_PERMISSION = 1; - - - /** - * @return Shortened tweet. - */ - @Override - protected StatusShortenResult shorten(final ParcelableStatusUpdate status, - final UserKey currentAccountKey, - final String overrideStatusText) { - final int granted = Twidere.isPermissionGranted(this); - if (granted == Twidere.Permission.DENIED) { - return StatusShortenResult.error(-1, getString(R.string.permission_not_granted)); - } else if (granted != Twidere.Permission.GRANTED) { - final NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); - final Notification.Builder builder = new Notification.Builder(this); - builder.setSmallIcon(R.drawable.ic_stat_warning); - builder.setTicker(getString(R.string.permission_request)); - builder.setContentTitle(getString(R.string.permission_is_required_to_shorten_status)); - builder.setContentText(getString(R.string.app_name)); - builder.setContentIntent(PendingIntent.getActivity(this, 0, new Intent(this, - RequestPermissionActivity.class), PendingIntent.FLAG_ONE_SHOT)); - builder.setAutoCancel(true); - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { - nm.notify(NOTIFICATION_ID_REQUEST_PERMISSION, builder.build()); - } else { - //noinspection deprecation - nm.notify(NOTIFICATION_ID_REQUEST_PERMISSION, builder.getNotification()); - } - return StatusShortenResult.error(-1, getString(R.string.permission_not_granted)); - } - final ParcelableCredentials credentials; - try { - credentials = getOAuthCredentials(currentAccountKey); - } catch (SecurityException e) { - if (BuildConfig.DEBUG) { - Log.w(LOGTAG, e); - } - return StatusShortenResult.error(-1, getString(R.string.permission_not_granted)); - } - if (credentials == null || !isTwitter(credentials)) { - return StatusShortenResult.error(-1, "No valid Twitter account found"); - } - final TwitLonger tl = TwitLongerFactory.getInstance(TWITLONGER_API_KEY, credentials); - try { - final String text; - if (overrideStatusText != null) { - text = overrideStatusText; - } else { - text = status.text; - } - NewPost newPost = new NewPost(text); - if (status.in_reply_to_status != null) { - final long inReplyToId = Long.parseLong(status.in_reply_to_status.id); - final String inReplyToScreenName = status.in_reply_to_status.user_screen_name; - newPost.setInReplyTo(inReplyToId, inReplyToScreenName); - } - final Post response = tl.createPost(newPost); - if (response != null) { - final StatusShortenResult shortened = StatusShortenResult.shortened(response.tweetContent); - shortened.extra = response.id; - return shortened; - } - } catch (final TwitLongerException e) { - if (BuildConfig.DEBUG) { - Log.w(LOGTAG, e); - } - return StatusShortenResult.error(-1, e.getMessage()); - } - return StatusShortenResult.error(-1, "Unknown error"); - } - - private boolean isTwitter(ParcelableCredentials credentials) { - return credentials.account_type == null || ParcelableAccount.Type.TWITTER.equals(credentials.account_type); - } - - @Override - protected boolean callback(StatusShortenResult result, ParcelableStatus status) { - if (result.extra == null) return false; - final ParcelableCredentials credentials; - try { - credentials = getOAuthCredentials(status.account_key); - } catch (SecurityException e) { - if (BuildConfig.DEBUG) { - Log.w(LOGTAG, e); - } - return false; - } - final TwitLonger tl = TwitLongerFactory.getInstance(TWITLONGER_API_KEY, credentials); - try { - tl.updatePost(result.extra, Long.parseLong(status.id)); - } catch (TwitLongerException e) { - if (BuildConfig.DEBUG) { - Log.w(LOGTAG, e); - } - return false; - } - return true; - } - - @Nullable - private ParcelableCredentials getOAuthCredentials(UserKey accountId) { - ParcelableCredentials credentials = Twidere.getCredentials(this, accountId); - if (credentials == null) return null; - switch (credentials.auth_type) { - case ParcelableCredentials.AUTH_TYPE_OAUTH: - case ParcelableCredentials.AUTH_TYPE_XAUTH: { - return credentials; - } - } - return null; - } - -} diff --git a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/Utils.java b/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/Utils.java deleted file mode 100644 index 24e588c81..000000000 --- a/twidere.extension.twitlonger/src/main/java/org/mariotaku/twidere/extension/twitlonger/Utils.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.mariotaku.twidere.extension.twitlonger; - -import android.text.TextUtils; - -import java.util.regex.Pattern; - -public class Utils { - - private static final Pattern PATTERN_TWITLONGER = Pattern.compile( - "(https?://)(tl\\.gd|www.twitlonger.com/show)/([\\w\\d]+)", Pattern.CASE_INSENSITIVE); - private static final int GROUP_TWITLONGER_ID = 3; - - public static String getTwitLongerId(String text) { - if (TextUtils.isEmpty(text)) return null; - return PATTERN_TWITLONGER.matcher(text).group(GROUP_TWITLONGER_ID); - } - - public static String getTwitLongerUrl(String text) { - if (TextUtils.isEmpty(text)) return null; - return PATTERN_TWITLONGER.matcher(text).group(); - } - -} diff --git a/twidere.extension.twitlonger/src/main/res/drawable-hdpi/ic_extension_twitlonger.png b/twidere.extension.twitlonger/src/main/res/drawable-hdpi/ic_extension_twitlonger.png deleted file mode 100644 index bd9ef1be8..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-hdpi/ic_extension_twitlonger.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-hdpi/ic_launcher.png b/twidere.extension.twitlonger/src/main/res/drawable-hdpi/ic_launcher.png deleted file mode 100644 index ebf103f7b..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-hdpi/ic_launcher.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-hdpi/ic_stat_warning.png b/twidere.extension.twitlonger/src/main/res/drawable-hdpi/ic_stat_warning.png deleted file mode 100644 index 56ec15b07..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-hdpi/ic_stat_warning.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-ldpi/ic_launcher.png b/twidere.extension.twitlonger/src/main/res/drawable-ldpi/ic_launcher.png deleted file mode 100644 index 2bf2067cf..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-ldpi/ic_launcher.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-mdpi/ic_extension_twitlonger.png b/twidere.extension.twitlonger/src/main/res/drawable-mdpi/ic_extension_twitlonger.png deleted file mode 100644 index 53990dbca..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-mdpi/ic_extension_twitlonger.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-mdpi/ic_launcher.png b/twidere.extension.twitlonger/src/main/res/drawable-mdpi/ic_launcher.png deleted file mode 100644 index d9326cf4a..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-mdpi/ic_launcher.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-mdpi/ic_stat_warning.png b/twidere.extension.twitlonger/src/main/res/drawable-mdpi/ic_stat_warning.png deleted file mode 100644 index b764d4a72..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-mdpi/ic_stat_warning.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_extension_twitlonger.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_extension_twitlonger.png deleted file mode 100644 index c05da1419..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_extension_twitlonger.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_launcher.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_launcher.png deleted file mode 100644 index 3ed0ff0f5..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_launcher.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_menu_mark.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_menu_mark.png deleted file mode 100644 index a5de6fb16..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_menu_mark.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_menu_send.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_menu_send.png deleted file mode 100644 index 6e5ec7810..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_menu_send.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_menu_share.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_menu_share.png deleted file mode 100644 index fce1d35ff..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_menu_share.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_stat_warning.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_stat_warning.png deleted file mode 100644 index 597d7eab7..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/ic_stat_warning.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_focused_holo.9.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_focused_holo.9.png deleted file mode 100644 index 690cb1eb6..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_focused_holo.9.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_longpressed_holo.9.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_longpressed_holo.9.png deleted file mode 100644 index eda10e612..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_longpressed_holo.9.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_pressed_holo.9.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_pressed_holo.9.png deleted file mode 100644 index e4b33935a..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_pressed_holo.9.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_selector_disabled_holo_dark.9.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_selector_disabled_holo_dark.9.png deleted file mode 100644 index 88726b691..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/list_selector_disabled_holo_dark.9.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/popup_holo_dark.9.png b/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/popup_holo_dark.9.png deleted file mode 100644 index e2aff72f4..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xhdpi/popup_holo_dark.9.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xxhdpi/ic_extension_twitlonger.png b/twidere.extension.twitlonger/src/main/res/drawable-xxhdpi/ic_extension_twitlonger.png deleted file mode 100644 index f51696728..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xxhdpi/ic_extension_twitlonger.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xxhdpi/ic_launcher.png b/twidere.extension.twitlonger/src/main/res/drawable-xxhdpi/ic_launcher.png deleted file mode 100644 index 0ed1e54d7..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable-xxhdpi/ic_stat_warning.png b/twidere.extension.twitlonger/src/main/res/drawable-xxhdpi/ic_stat_warning.png deleted file mode 100644 index 0f9a7cf36..000000000 Binary files a/twidere.extension.twitlonger/src/main/res/drawable-xxhdpi/ic_stat_warning.png and /dev/null differ diff --git a/twidere.extension.twitlonger/src/main/res/drawable/list_selector_background_transition_holo.xml b/twidere.extension.twitlonger/src/main/res/drawable/list_selector_background_transition_holo.xml deleted file mode 100644 index 9f3a1daf9..000000000 --- a/twidere.extension.twitlonger/src/main/res/drawable/list_selector_background_transition_holo.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/twidere.extension.twitlonger/src/main/res/drawable/list_selector_holo_dark.xml b/twidere.extension.twitlonger/src/main/res/drawable/list_selector_holo_dark.xml deleted file mode 100644 index d7e2aac53..000000000 --- a/twidere.extension.twitlonger/src/main/res/drawable/list_selector_holo_dark.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/twidere.extension.twitlonger/src/main/res/layout/main.xml b/twidere.extension.twitlonger/src/main/res/layout/main.xml deleted file mode 100644 index 1b03bd121..000000000 --- a/twidere.extension.twitlonger/src/main/res/layout/main.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/twidere.extension.twitlonger/src/main/res/values-v11/themes.xml b/twidere.extension.twitlonger/src/main/res/values-v11/themes.xml deleted file mode 100644 index 7c7809e82..000000000 --- a/twidere.extension.twitlonger/src/main/res/values-v11/themes.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/twidere.extension.twitlonger/src/main/res/xml/about.xml b/twidere.extension.twitlonger/src/main/res/xml/about.xml deleted file mode 100644 index 7fe148833..000000000 --- a/twidere.extension.twitlonger/src/main/res/xml/about.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/twidere.library.extension/src/main/java/org/mariotaku/twidere/Twidere.java b/twidere.library.extension/src/main/java/org/mariotaku/twidere/Twidere.java index e3da7d477..cb74144a1 100644 --- a/twidere.library.extension/src/main/java/org/mariotaku/twidere/Twidere.java +++ b/twidere.library.extension/src/main/java/org/mariotaku/twidere/Twidere.java @@ -261,7 +261,7 @@ public final class Twidere implements TwidereConstants { } @IntDef({Permission.DENIED, Permission.NONE, Permission.GRANTED}) - @Retention(RetentionPolicy.CLASS) + @Retention(RetentionPolicy.SOURCE) public @interface Permission { int NONE = 0; int GRANTED = 1; diff --git a/twidere/src/main/res/values/strings.xml b/twidere/src/main/res/values/strings.xml index e52252c7d..f93613039 100644 --- a/twidere/src/main/res/values/strings.xml +++ b/twidere/src/main/res/values/strings.xml @@ -245,11 +245,11 @@ %s retweeted a tweet you were tagged in. %1$s and %2$s retweeted a tweet you were tagged in. %s retweeted a tweet you were mentioned in. - %s and %2$s retweeted a tweet you were mentioned in. + %1$s and %2$s retweeted a tweet you were mentioned in. %s favorited a tweet you were mentioned in. - %s and %2$s favorited a tweet you were mentioned in. + %1$s and %2$s favorited a tweet you were mentioned in. %s liked a tweet you were mentioned in. - %s and %2$s liked a tweet you were mentioned in. + %1$s and %2$s liked a tweet you were mentioned in. %s added you to list. %1$s added you to list %2$s". %1$s and %2$s added you to their lists. @@ -768,6 +768,7 @@ Translation Incompatible tweet shortener Incompatible media uploader + Groups Public timeline External user at %s @@ -781,6 +782,7 @@ New Document API Open profile and media in new task Drawer toggle + Group Your coarse location \ No newline at end of file