diff --git a/.travis.yml b/.travis.yml index e33edf60..c16bd731 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ before_script: - (while sleep 3; do echo "y"; done) | $ANDROID_HOME/tools/bin/sdkmanager "platform-tools" "extras;android;m2repository" "extras;google;m2repository" "build-tools;26.0.0" "platforms;android-26" script: - - ./gradlew clean assembleNightlyDebug --stacktrace + - ./gradlew clean assembleDebug --stacktrace before_cache: - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock diff --git a/app/build.gradle b/app/build.gradle index 2d5513ba..5ac17bf4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -45,8 +45,6 @@ android { } } - flavorDimensions "default" - buildTypes { release { minifyEnabled true @@ -54,18 +52,15 @@ android { signingConfig signingConfigs.signing proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } - } - - productFlavors { - nightly { - flavorDimensions "default" - signingConfig signingConfigs.signing + debug { + if (!rootProject.file('gradle.properties').exists()) { + signingConfig signingConfigs.signing + } applicationIdSuffix ".debug" versionNameSuffix "-debug" ext.alwaysUpdateBuildId = false } - production { flavorDimensions "default" } } sourceSets { diff --git a/app/src/nightly/google-services.json b/app/src/debug/google-services.json similarity index 100% rename from app/src/nightly/google-services.json rename to app/src/debug/google-services.json diff --git a/app/src/debug/res/mipmap-hdpi/ic_launcher.png b/app/src/debug/res/mipmap-hdpi/ic_launcher.png new file mode 100755 index 00000000..34481c50 Binary files /dev/null and b/app/src/debug/res/mipmap-hdpi/ic_launcher.png differ diff --git a/app/src/debug/res/mipmap-mdpi/ic_launcher.png b/app/src/debug/res/mipmap-mdpi/ic_launcher.png new file mode 100755 index 00000000..62622e70 Binary files /dev/null and b/app/src/debug/res/mipmap-mdpi/ic_launcher.png differ diff --git a/app/src/debug/res/mipmap-xhdpi/ic_launcher.png b/app/src/debug/res/mipmap-xhdpi/ic_launcher.png new file mode 100755 index 00000000..647c81d3 Binary files /dev/null and b/app/src/debug/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png b/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png new file mode 100755 index 00000000..0968f452 Binary files /dev/null and b/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100755 index 00000000..55879755 Binary files /dev/null and b/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/app/src/nightly/res/values/secrets.xml b/app/src/debug/res/values/secrets.xml similarity index 100% rename from app/src/nightly/res/values/secrets.xml rename to app/src/debug/res/values/secrets.xml diff --git a/app/src/nightly/res/values/strings.xml b/app/src/debug/res/values/strings.xml similarity index 100% rename from app/src/nightly/res/values/strings.xml rename to app/src/debug/res/values/strings.xml diff --git a/app/src/main/java/com/fastaccess/App.java b/app/src/main/java/com/fastaccess/App.java index f0f363b3..81059c3a 100644 --- a/app/src/main/java/com/fastaccess/App.java +++ b/app/src/main/java/com/fastaccess/App.java @@ -45,13 +45,7 @@ public class App extends Application { } private void init() { - Fabric fabric = new Fabric.Builder(this) - .kits(new Crashlytics.Builder() - .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()) - .build()) - .debuggable(BuildConfig.DEBUG) - .build(); - Fabric.with(fabric); + initFabric(); RxBillingService.register(this); deleteDatabase("database.db"); getDataStore();//init requery before anything. @@ -64,6 +58,16 @@ public class App extends Application { ColorsProvider.load(); } + private void initFabric() { + Fabric fabric = new Fabric.Builder(this) + .kits(new Crashlytics.Builder() + .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()) + .build()) + .debuggable(BuildConfig.DEBUG) + .build(); + Fabric.with(fabric); + } + private void setupPreference() { PreferenceManager.setDefaultValues(this, R.xml.fasthub_settings, false); PreferenceManager.setDefaultValues(this, R.xml.about_settings, false); diff --git a/app/src/main/java/com/fastaccess/provider/changelog/ChangelogProvider.java b/app/src/main/java/com/fastaccess/provider/changelog/ChangelogProvider.java deleted file mode 100644 index 552134ba..00000000 --- a/app/src/main/java/com/fastaccess/provider/changelog/ChangelogProvider.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.fastaccess.provider.changelog; - -import android.content.Context; -import android.support.annotation.NonNull; - -import com.fastaccess.R; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; - -import io.reactivex.Observable; - -/** - * Created by Kosh on 26 Mar 2017, 10:07 PM - */ - -public class ChangelogProvider { - - @SuppressWarnings("ResultOfMethodCallIgnored") public static Observable getChangelog(@NonNull Context context) { - return Observable.fromCallable(() -> { - InputStream is = context.getResources().openRawResource(R.raw.changelog); - try (ByteArrayOutputStream byteStream = new ByteArrayOutputStream()) { - byte[] buffer = new byte[is.available()]; - is.read(buffer); - byteStream.write(buffer); - byteStream.close(); - is.close(); - return byteStream.toString(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - }); - } -} diff --git a/app/src/main/java/com/fastaccess/provider/colors/ColorsProvider.java b/app/src/main/java/com/fastaccess/provider/colors/ColorsProvider.java index 37a30713..a6a418ba 100644 --- a/app/src/main/java/com/fastaccess/provider/colors/ColorsProvider.java +++ b/app/src/main/java/com/fastaccess/provider/colors/ColorsProvider.java @@ -34,7 +34,7 @@ import io.reactivex.Observable; public class ColorsProvider { - private static List popularLanguages = Stream.of("Java", "Kotlin", "JavaScript", "Python", "CSS", "PHP", + private static List POPULAR_LANG = Stream.of("Java", "Kotlin", "JavaScript", "Python", "CSS", "PHP", "Ruby", "C++", "C", "GO", "Swift").toList();//predefined languages. private static Map colors = new LinkedHashMap<>(); @@ -45,11 +45,13 @@ public class ColorsProvider { .create(observableEmitter -> { try { Type type = new TypeToken>() {}.getType(); - InputStream stream = App.getInstance().getAssets().open("colors.json"); - Gson gson = new Gson(); - JsonReader reader = new JsonReader(new InputStreamReader(stream)); - colors.putAll(gson.fromJson(reader, type)); - observableEmitter.onNext(""); + try (InputStream stream = App.getInstance().getAssets().open("colors.json")) { + Gson gson = new Gson(); + try (JsonReader reader = new JsonReader(new InputStreamReader(stream))) { + colors.putAll(gson.fromJson(reader, type)); + observableEmitter.onNext(""); + } + } } catch (IOException e) { e.printStackTrace(); observableEmitter.onError(e); @@ -62,12 +64,12 @@ public class ColorsProvider { @NonNull public static ArrayList languages() { ArrayList lang = new ArrayList<>(); - lang.add("All Language"); lang.addAll(Stream.of(colors) .filter(value -> value != null && !InputHelper.isEmpty(value.getKey())) .map(Map.Entry::getKey) - .sortBy(s -> !popularLanguages.contains(s)) .collect(Collectors.toCollection(ArrayList::new))); + lang.add(0, "All Language"); + lang.addAll(1, POPULAR_LANG); return lang; } diff --git a/app/src/main/java/com/fastaccess/provider/gson/ToGsonProvider.java b/app/src/main/java/com/fastaccess/provider/gson/ToGsonProvider.java new file mode 100644 index 00000000..5f88e3e5 --- /dev/null +++ b/app/src/main/java/com/fastaccess/provider/gson/ToGsonProvider.java @@ -0,0 +1,35 @@ +package com.fastaccess.provider.gson; + +import android.content.Context; +import android.support.annotation.NonNull; + +import com.fastaccess.R; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; + +import io.reactivex.Observable; + +/** + * Created by Kosh on 26 Mar 2017, 10:07 PM + */ + +public class ToGsonProvider { + + public static Observable getChangelog(@NonNull Context context) { + return Observable.fromCallable(() -> { + try (InputStream is = context.getResources().openRawResource(R.raw.changelog)) { + try (ByteArrayOutputStream byteStream = new ByteArrayOutputStream()) { + byte[] buffer = new byte[is.available()]; + int read = is.read(buffer);//ignore lint + byteStream.write(buffer); + return byteStream.toString(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return null; + }); + } +} diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TrendingViewHolder.kt b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TrendingViewHolder.kt index 1affba97..75128994 100644 --- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TrendingViewHolder.kt +++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TrendingViewHolder.kt @@ -38,9 +38,11 @@ open class TrendingViewHolder(itemView: View, adapter: BaseRecyclerAdapter { this.html = s; sendToView(view -> view.onChangelogLoaded(html)); diff --git a/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsFragment.java b/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsFragment.java index bf4554c1..8ff488f2 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsFragment.java +++ b/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsFragment.java @@ -55,18 +55,14 @@ public class FeedsFragment extends BaseFragment i FeedsFragment feedsFragment = new FeedsFragment(); feedsFragment.setArguments(Bundler.start() .put(BundleConstant.EXTRA, user) - .put(BundleConstant.IS_ENTERPRISE, isEnterprise) .put(BundleConstant.EXTRA_TWO, isOrg) + .put(BundleConstant.IS_ENTERPRISE, isEnterprise) .end()); return feedsFragment; } public static FeedsFragment newInstance(boolean isEnterprise) { - FeedsFragment feedsFragment = new FeedsFragment(); - feedsFragment.setArguments(Bundler.start() - .put(BundleConstant.IS_ENTERPRISE, isEnterprise) - .end()); - return feedsFragment; + return newInstance(null, false, isEnterprise); } @Override protected int fragmentLayout() { diff --git a/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsPresenter.java index d416f25c..36e4906e 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/feeds/FeedsPresenter.java @@ -57,17 +57,16 @@ public class FeedsPresenter extends BasePresenter implements Feed } setCurrentPage(page); if (Login.getUser() == null) return;// I can't understand how this could possibly be reached lol. - Observable> observable = null; + Observable> observable; if (user != null) { if (isOrg) { - RestProvider.getOrgService().getReceivedEvents(user, page); + observable = RestProvider.getOrgService().getReceivedEvents(user, page); } else { observable = RestProvider.getUserService().getUserEvents(user, page); } } else { observable = RestProvider.getUserService().getReceivedEvents(Login.getUser().getLogin(), page); } - if (observable == null) return; makeRestCall(observable, response -> { lastPage = response.getLast(); if (getCurrentPage() == 1) { diff --git a/app/src/main/java/com/fastaccess/ui/modules/trending/TrendingPresenter.kt b/app/src/main/java/com/fastaccess/ui/modules/trending/TrendingPresenter.kt index 9c304489..b8fa9153 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/trending/TrendingPresenter.kt +++ b/app/src/main/java/com/fastaccess/ui/modules/trending/TrendingPresenter.kt @@ -15,7 +15,7 @@ class TrendingPresenter : BasePresenter(), TrendingMvp.Present manageObservable(RxHelper.getObserver(Observable.fromIterable(ColorsProvider.languages())) .doOnSubscribe { sendToView { it.onClearMenu() } } .filter { it.toLowerCase().contains(key.toLowerCase()) } - .doOnNext(this::sendWithColor)) + .doOnNext { sendWithColor(it) }) } private fun sendWithColor(t: String) { @@ -26,13 +26,15 @@ class TrendingPresenter : BasePresenter(), TrendingMvp.Present sendToView { it.onAppend(t, lanColor) } } catch (e: Exception) { e.printStackTrace() - sendToView { it.onAppend(t, 0) } + sendToView { it.onAppend(t, Color.LTGRAY) } } + } else { + sendToView { it.onAppend(t, Color.LTGRAY) } } } override fun onLoadLanguage() { manageObservable(RxHelper.getObserver(Observable.fromIterable(ColorsProvider.languages())) - .doOnNext({ t: String -> sendWithColor(t) })) + .doOnNext { sendWithColor(it) }) } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/trending/fragment/TrendingFragmentPresenter.kt b/app/src/main/java/com/fastaccess/ui/modules/trending/fragment/TrendingFragmentPresenter.kt index 337f334d..f0ea692e 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/trending/fragment/TrendingFragmentPresenter.kt +++ b/app/src/main/java/com/fastaccess/ui/modules/trending/fragment/TrendingFragmentPresenter.kt @@ -54,7 +54,7 @@ class TrendingFragmentPresenter : BasePresenter(), Tre val stars = it.select(".f6 > a[href*=/stargazers]").text() val forks = it.select(".f6 > a[href*=/network]").text() val todayStars = it.select(".f6 > span.float-right").text() - val language = it.select(".f6 > span[itemprop=programmingLanguage]").text() + val language = it.select(".f6 .mr-3 > span[itemprop=programmingLanguage]").text() Logger.e(title, description, stars, forks, todayStars, language) s.onNext(TrendingModel(title, description, language, stars, forks, todayStars)) } diff --git a/app/src/main/java/com/fastaccess/ui/modules/user/UserPagerActivity.java b/app/src/main/java/com/fastaccess/ui/modules/user/UserPagerActivity.java index 26f6428b..8c5de34c 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/user/UserPagerActivity.java +++ b/app/src/main/java/com/fastaccess/ui/modules/user/UserPagerActivity.java @@ -44,7 +44,6 @@ import shortbread.Shortcut; @Shortcut(id = "profile", icon = R.drawable.ic_profile_shortcut, shortLabelRes = R.string.profile, backStack = {MainActivity.class}, rank = 4) public class UserPagerActivity extends BaseActivity implements UserPagerMvp.View { - @BindView(R.id.tabs) TabLayout tabs; @BindView(R.id.tabbedPager) ViewPagerView pager; @BindView(R.id.fab) FloatingActionButton fab; diff --git a/app/src/main/res/layouts/main_layouts/layout/trending_activity_layout.xml b/app/src/main/res/layouts/main_layouts/layout/trending_activity_layout.xml index 5ec103fc..30b0d6ad 100644 --- a/app/src/main/res/layouts/main_layouts/layout/trending_activity_layout.xml +++ b/app/src/main/res/layouts/main_layouts/layout/trending_activity_layout.xml @@ -116,9 +116,6 @@ android:layout_width="0dp" android:layout_height="match_parent" android:layout_gravity="center" - android:paddingStart="@dimen/spacing_normal" - - android:layout_marginEnd="@dimen/spacing_xs_large" android:layout_weight="1" android:background="@color/transparent" android:completionThreshold="1" @@ -127,6 +124,8 @@ android:imeOptions="actionSearch" android:inputType="text" android:maxLines="1" + android:paddingEnd="@dimen/spacing_xs_large" + android:paddingStart="@dimen/spacing_normal" android:textColorHint="?android:textColorSecondary"/>