diff --git a/.travis.yml b/.travis.yml index 8189168e9..eb2937ecb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,7 +42,7 @@ cache: - $HOME/.local/opt before_install: - - ./travis/scripts/extract_signing_config.sh + - ./travis/scripts/extract_private_build_config.sh - ./travis/scripts/install_android_ndk.sh - export PATH=$HOME/.local/bin:$PATH - pip install -r ./travis/configs/requirements.txt --user diff --git a/travis/scripts/extract_private_build_config.sh b/travis/scripts/extract_private_build_config.sh new file mode 100755 index 000000000..5969ecb10 --- /dev/null +++ b/travis/scripts/extract_private_build_config.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +if [ -n ${PRIVATE_BUILD_CONFIG} ]; then + echo ${PRIVATE_BUILD_CONFIG} | base64 -d | tar zxf - + echo 'Extracted signing config' +fi \ No newline at end of file diff --git a/travis/scripts/extract_signing_config.sh b/travis/scripts/extract_signing_config.sh deleted file mode 100755 index 4e732cea1..000000000 --- a/travis/scripts/extract_signing_config.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -if [ -n ${SIGNING_CONFIG} ]; then - echo ${SIGNING_CONFIG} | base64 -d | tar zxf - - echo 'Extracted signing config' -fi \ No newline at end of file diff --git a/twidere/build.gradle b/twidere/build.gradle index f251fa6d2..dae814d60 100644 --- a/twidere/build.gradle +++ b/twidere/build.gradle @@ -3,9 +3,20 @@ import fr.avianey.androidsvgdrawable.gradle.SvgDrawableTask import java.text.SimpleDateFormat apply plugin: 'com.android.application' +apply plugin: 'io.fabric' apply plugin: 'com.neenbedankt.android-apt' apply plugin: 'androidsvgdrawable' +buildscript { + repositories { + maven { url 'https://maven.fabric.io/public' } + } + + dependencies { + classpath 'io.fabric.tools:gradle:1.21.2' + } +} + android { defaultConfig { @@ -28,10 +39,8 @@ android { targetCompatibility JavaVersion.VERSION_1_7 } productFlavors { - google { - } - fdroid { - } + google {} + fdroid {} } buildTypes { debug { @@ -109,9 +118,7 @@ dependencies { compile 'com.j256.simplemagic:simplemagic:1.6' googleCompile 'com.google.android.gms:play-services-maps:8.4.0' googleCompile 'com.google.maps.android:android-maps-utils:0.4' - googleCompile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') { - transitive = true; - } + googleCompile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') { transitive = true } googleCompile ':YouTubeAndroidPlayerApi:1.2.2@jar' fdroidCompile 'org.osmdroid:osmdroid-android:5.0.1' debugCompile 'com.facebook.stetho:stetho:1.2.0' diff --git a/twidere/src/main/java/org/mariotaku/twidere/fragment/support/CursorActivitiesFragment.java b/twidere/src/main/java/org/mariotaku/twidere/fragment/support/CursorActivitiesFragment.java index d4254c233..31b6b7071 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/fragment/support/CursorActivitiesFragment.java +++ b/twidere/src/main/java/org/mariotaku/twidere/fragment/support/CursorActivitiesFragment.java @@ -132,16 +132,16 @@ public abstract class CursorActivitiesFragment extends AbsActivitiesFragment doInBackground(final Object... params) { final Twitter twitter = TwitterAPIFactory.getTwitterInstance(getActivity(), accountId, true); - if (twitter == null) return null; + if (twitter == null) return SingleResponse.getInstance(); try { final UserList list; if (listId > 0) { @@ -133,7 +135,7 @@ public class UserListMembersFragment extends CursorSupportUsersListFragment { } else if (screenName != null) { list = twitter.showUserList(listName, screenName); } else - return null; + throw new TwitterException("list_id or list_name and user_id (or screen_name) required"); return SingleResponse.getInstance(new ParcelableUserList(list, accountId)); } catch (final TwitterException e) { return SingleResponse.getInstance(e); diff --git a/twidere/src/main/java/org/mariotaku/twidere/task/twitter/GetStatusesTask.java b/twidere/src/main/java/org/mariotaku/twidere/task/twitter/GetStatusesTask.java index 444f014ce..f20373c4f 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/task/twitter/GetStatusesTask.java +++ b/twidere/src/main/java/org/mariotaku/twidere/task/twitter/GetStatusesTask.java @@ -73,7 +73,7 @@ public abstract class GetStatusesTask extends ManagedAsyncTask statuses, - long maxId, boolean notify, int loadItemLimit) { + long sinceId, long maxId, boolean notify, int loadItemLimit) { if (statuses == null || statuses.isEmpty() || accountId <= 0) { return; } @@ -85,10 +85,14 @@ public abstract class GetStatusesTask extends ManagedAsyncTask 0 && id <= sinceId) { + hasIntersection = true; + } if (minId == -1 || id < minId) { minId = id; minIdx = i; @@ -122,7 +126,7 @@ public abstract class GetStatusesTask extends ManagedAsyncTask 0 && ArrayUtils.contains(statusIds, maxId); final boolean noRowsDeleted = rowsDeleted == 0; final boolean insertGap = minId > 0 && (noRowsDeleted || deletedOldGap) && !noItemsBefore - && statuses.size() >= loadItemLimit; + && !hasIntersection; if (insertGap && minIdx != -1) { values[minIdx].put(TwidereDataStore.Statuses.IS_GAP, true); } @@ -176,7 +180,7 @@ public abstract class GetStatusesTask extends ManagedAsyncTask 0) { sinceId = sinceIds[idx]; - paging.sinceId(sinceId); + paging.sinceId(sinceId - 1); if (maxIds == null || sinceIds[idx] <= 0) { paging.setLatestResults(true); } @@ -185,7 +189,7 @@ public abstract class GetStatusesTask extends ManagedAsyncTask statuses = getStatuses(twitter, paging); TwitterContentUtils.getStatusesWithQuoteData(twitter, statuses); - storeStatus(accountId, statuses, maxId, true, loadItemLimit); + storeStatus(accountId, statuses, sinceId, maxId, true, loadItemLimit); publishProgress(new TwitterWrapper.StatusListResponse(accountId, statuses)); } catch (final TwitterException e) { Log.w(LOGTAG, e); diff --git a/twidere/src/main/res/drawable-hdpi/ic_action_ok.png b/twidere/src/main/res/drawable-hdpi/ic_action_ok.png deleted file mode 100644 index 1fc7b0f1c..000000000 Binary files a/twidere/src/main/res/drawable-hdpi/ic_action_ok.png and /dev/null differ diff --git a/twidere/src/main/res/drawable-mdpi/ic_action_ok.png b/twidere/src/main/res/drawable-mdpi/ic_action_ok.png deleted file mode 100644 index 7169a395b..000000000 Binary files a/twidere/src/main/res/drawable-mdpi/ic_action_ok.png and /dev/null differ diff --git a/twidere/src/main/res/drawable-xhdpi/ic_action_ok.png b/twidere/src/main/res/drawable-xhdpi/ic_action_ok.png deleted file mode 100644 index 8decc3c43..000000000 Binary files a/twidere/src/main/res/drawable-xhdpi/ic_action_ok.png and /dev/null differ diff --git a/twidere/src/main/res/drawable-xxhdpi/ic_action_ok.png b/twidere/src/main/res/drawable-xxhdpi/ic_action_ok.png deleted file mode 100644 index 0eee4c66b..000000000 Binary files a/twidere/src/main/res/drawable-xxhdpi/ic_action_ok.png and /dev/null differ diff --git a/twidere/src/main/res/layout/activity_home_content.xml b/twidere/src/main/res/layout/activity_home_content.xml index 9f854a1fc..1a574b374 100644 --- a/twidere/src/main/res/layout/activity_home_content.xml +++ b/twidere/src/main/res/layout/activity_home_content.xml @@ -18,9 +18,9 @@ --> @@ -28,9 +28,9 @@ android:id="@+id/main_pager" android:layout_width="match_parent" android:layout_height="match_parent" - android:focusable="true" /> + android:focusable="true"/> - + + tools:ignore="UnusedAttribute"/> + android:background="?android:windowContentOverlay"/> - + \ No newline at end of file diff --git a/twidere/src/main/res/layout/fragment_content_listview.xml b/twidere/src/main/res/layout/fragment_content_listview.xml index f6d6fffcd..549a2a273 100644 --- a/twidere/src/main/res/layout/fragment_content_listview.xml +++ b/twidere/src/main/res/layout/fragment_content_listview.xml @@ -18,7 +18,6 @@ --> diff --git a/twidere/src/main/res/layout/fragment_content_recyclerview.xml b/twidere/src/main/res/layout/fragment_content_recyclerview.xml index 105cee861..6de86ba9b 100644 --- a/twidere/src/main/res/layout/fragment_content_recyclerview.xml +++ b/twidere/src/main/res/layout/fragment_content_recyclerview.xml @@ -18,13 +18,12 @@ --> - + + android:scrollbars="vertical"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/fragment_messages_conversation.xml b/twidere/src/main/res/layout/fragment_messages_conversation.xml index 57a70882e..f78b79607 100644 --- a/twidere/src/main/res/layout/fragment_messages_conversation.xml +++ b/twidere/src/main/res/layout/fragment_messages_conversation.xml @@ -18,7 +18,6 @@ --> + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + tools:layout_height="?actionBarSize" + tools:layout_width="match_parent"> + app:tabHorizontalPadding="@dimen/element_spacing_normal"/> \ No newline at end of file diff --git a/twidere/src/main/res/menu/action_incoming_friendship.xml b/twidere/src/main/res/menu/action_incoming_friendship.xml index ce4d29856..cd4c45fbf 100644 --- a/twidere/src/main/res/menu/action_incoming_friendship.xml +++ b/twidere/src/main/res/menu/action_incoming_friendship.xml @@ -3,7 +3,7 @@ + android:icon="@drawable/ic_action_confirm"/> \ No newline at end of file diff --git a/twidere/src/main/svg/drawable/ic_action_confirm-mdpi.svg b/twidere/src/main/svg/drawable/ic_action_confirm-mdpi.svg new file mode 100644 index 000000000..06cbad721 --- /dev/null +++ b/twidere/src/main/svg/drawable/ic_action_confirm-mdpi.svg @@ -0,0 +1,12 @@ + + + + Artboard + Created with Sketch. + + + + + + + \ No newline at end of file