diff --git a/app/build.gradle b/app/build.gradle index 24918dc9..b340be6b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,8 +28,8 @@ android { applicationId "com.fastaccess.github" minSdkVersion 21 targetSdkVersion 26 - versionCode 400 - versionName "4.0.0" + versionCode 401 + versionName "4.0.1" buildConfigString "GITHUB_CLIENT_ID", (buildProperties.secrets['github_client_id'] | buildProperties.notThere['github_client_id']).string buildConfigString "GITHUB_SECRET", (buildProperties.secrets['github_secret'] | buildProperties.notThere['github_secret']).string buildConfigString "IMGUR_CLIENT_ID", (buildProperties.secrets['imgur_client_id'] | buildProperties.notThere['imgur_client_id']).string diff --git a/app/src/main/java/com/fastaccess/App.java b/app/src/main/java/com/fastaccess/App.java index 484f883d..ebcbce2f 100644 --- a/app/src/main/java/com/fastaccess/App.java +++ b/app/src/main/java/com/fastaccess/App.java @@ -7,7 +7,6 @@ import android.support.v7.preference.PreferenceManager; import com.crashlytics.android.Crashlytics; import com.crashlytics.android.core.CrashlyticsCore; import com.fastaccess.data.dao.model.Models; -import com.fastaccess.data.dao.model.PinnedRepos; import com.fastaccess.helper.TypeFaceHelper; import com.fastaccess.provider.colors.ColorsProvider; import com.fastaccess.provider.emoji.EmojiManager; @@ -57,9 +56,6 @@ public class App extends Application { Shortbread.create(this); EmojiManager.load(); ColorsProvider.load(); - if (BuildConfig.VERSION_CODE != 320) { - PinnedRepos.migrateToVersion4(); - } } private void initFabric() { @@ -84,7 +80,7 @@ public class App extends Application { public ReactiveEntityStore getDataStore() { if (dataStore == null) { EntityModel model = Models.DEFAULT; - DatabaseSource source = new DatabaseSource(this, model, "FastHub-DB", 10); + DatabaseSource source = new DatabaseSource(this, model, "FastHub-DB", 11); Configuration configuration = source.getConfiguration(); if (BuildConfig.DEBUG) { source.setTableCreationMode(TableCreationMode.CREATE_NOT_EXISTS); diff --git a/app/src/main/java/com/fastaccess/data/dao/model/AbstractLogin.java b/app/src/main/java/com/fastaccess/data/dao/model/AbstractLogin.java index 28a159ad..86a6c09c 100644 --- a/app/src/main/java/com/fastaccess/data/dao/model/AbstractLogin.java +++ b/app/src/main/java/com/fastaccess/data/dao/model/AbstractLogin.java @@ -23,7 +23,7 @@ import lombok.NoArgsConstructor; @Entity @NoArgsConstructor public abstract class AbstractLogin implements Parcelable { @Key long id; - @Column(unique = true) String login; + @Column String login; String avatarUrl; String gravatarId; String url; @@ -140,8 +140,7 @@ import lombok.NoArgsConstructor; App.getInstance().getDataStore() .toBlocking() .delete(Login.class) - .where(Login.ID.eq(userModel.getId()) - .or(Login.LOGIN.eq(userModel.getLogin()))) + .where(Login.ID.eq(userModel.getId())) .get() .value(); App.getInstance().getDataStore() diff --git a/app/src/main/java/com/fastaccess/data/dao/model/AbstractPinnedRepos.java b/app/src/main/java/com/fastaccess/data/dao/model/AbstractPinnedRepos.java index 9e1318eb..fc207ca8 100644 --- a/app/src/main/java/com/fastaccess/data/dao/model/AbstractPinnedRepos.java +++ b/app/src/main/java/com/fastaccess/data/dao/model/AbstractPinnedRepos.java @@ -34,7 +34,7 @@ import static com.fastaccess.data.dao.model.PinnedRepos.REPO_FULL_NAME; @Entity @NoArgsConstructor public abstract class AbstractPinnedRepos implements Parcelable { @Key @Generated long id; - @Column(unique = true) String repoFullName; + @Column(unique = false) String repoFullName; @Convert(RepoConverter.class) Repo pinnedRepo; @io.requery.Nullable int entryCount; @io.requery.Nullable String login; @@ -50,8 +50,11 @@ import static com.fastaccess.data.dao.model.PinnedRepos.REPO_FULL_NAME; pinned.setRepoFullName(repo.getFullName()); pinned.setLogin(Login.getUser().getLogin()); pinned.setPinnedRepo(repo); - App.getInstance().getDataStore().toBlocking().insert(pinned); - return true; + try { + App.getInstance().getDataStore().toBlocking().insert(pinned); + return true; + } catch (Exception ignored) {} + return false; } else { delete(pinnedRepos.getId()); return false; @@ -66,8 +69,9 @@ import static com.fastaccess.data.dao.model.PinnedRepos.REPO_FULL_NAME; } @Nullable public static PinnedRepos get(@NonNull String repoFullName) { - return App.getInstance().getDataStore().select(PinnedRepos.class) - .where(REPO_FULL_NAME.eq(repoFullName).and(LOGIN.eq(Login.getUser().getLogin()))) + return App.getInstance().getDataStore().toBlocking().select(PinnedRepos.class) + .where(REPO_FULL_NAME.eq(repoFullName).and(LOGIN.eq(Login.getUser().getLogin())) + .or(REPO_FULL_NAME.eq(repoFullName))) .get() .firstOrNull(); } diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/LoginViewHolder.kt b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/LoginViewHolder.kt index 59adce66..85356e38 100644 --- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/LoginViewHolder.kt +++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/LoginViewHolder.kt @@ -1,5 +1,7 @@ package com.fastaccess.ui.adapter.viewholder +import android.annotation.SuppressLint +import android.net.Uri import android.view.View import android.view.ViewGroup import com.fastaccess.R @@ -20,9 +22,14 @@ class LoginViewHolder private constructor(itemView: View, adapter: BaseRecyclerA val avatarLayout: AvatarLayout? by bindOptionalView(R.id.avatarLayout) val title: FontTextView by bindView(R.id.title) + @SuppressLint("SetTextI18n") override fun bind(login: Login) { avatarLayout?.setUrl(login.avatarUrl, null, false, false) - title.text = login.login + title.text = if (login.isIsEnterprise) { + "${login.login} ${Uri.parse(login.enterpriseUrl).authority}" + } else { + login.login + } } companion object { diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ProfileOrgsViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ProfileOrgsViewHolder.java index f1083082..ab58f073 100644 --- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ProfileOrgsViewHolder.java +++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ProfileOrgsViewHolder.java @@ -36,6 +36,6 @@ public class ProfileOrgsViewHolder extends BaseViewHolder { @Override public void bind(@NonNull User user) { name.setText(user.getLogin()); - avatarLayout.setUrl(user.getAvatarUrl(), user.getLogin(), true, LinkParserHelper.isEnterprise(user.getHtmlUrl())); + avatarLayout.setUrl(user.getAvatarUrl(), user.getLogin(), true, LinkParserHelper.isEnterprise(user.getUrl())); } } diff --git a/app/src/main/res/layouts/row_layouts/layout-sw600dp/login_row_item_menu.xml b/app/src/main/res/layouts/row_layouts/layout-sw600dp/login_row_item_menu.xml index f7fd372e..3a01767d 100644 --- a/app/src/main/res/layouts/row_layouts/layout-sw600dp/login_row_item_menu.xml +++ b/app/src/main/res/layouts/row_layouts/layout-sw600dp/login_row_item_menu.xml @@ -9,6 +9,7 @@ android:background="?selectableItemBackground" android:ellipsize="end" android:maxLines="1" + android:minHeight="48dp" android:paddingBottom="@dimen/spacing_normal" android:paddingEnd="@dimen/spacing_xs_large" android:paddingStart="@dimen/keyline_1" diff --git a/app/src/main/res/layouts/row_layouts/layout-sw600dp/repos_row_item_menu.xml b/app/src/main/res/layouts/row_layouts/layout-sw600dp/repos_row_item_menu.xml index 05aa944d..ba1b9e6e 100644 --- a/app/src/main/res/layouts/row_layouts/layout-sw600dp/repos_row_item_menu.xml +++ b/app/src/main/res/layouts/row_layouts/layout-sw600dp/repos_row_item_menu.xml @@ -10,6 +10,7 @@ android:background="?selectableItemBackground" android:ellipsize="end" android:maxLines="1" + android:minHeight="48dp" android:paddingBottom="@dimen/spacing_normal" android:paddingEnd="@dimen/spacing_xs_large" android:paddingStart="@dimen/keyline_1" diff --git a/app/src/main/res/layouts/row_layouts/layout/login_row_item_menu.xml b/app/src/main/res/layouts/row_layouts/layout/login_row_item_menu.xml index 9cf2c555..08edd88b 100644 --- a/app/src/main/res/layouts/row_layouts/layout/login_row_item_menu.xml +++ b/app/src/main/res/layouts/row_layouts/layout/login_row_item_menu.xml @@ -9,6 +9,7 @@ android:background="?selectableItemBackground" android:ellipsize="end" android:maxLines="1" + android:minHeight="48dp" android:paddingBottom="@dimen/spacing_normal" android:paddingEnd="@dimen/spacing_xs_large" android:paddingStart="@dimen/keyline_1" diff --git a/app/src/main/res/layouts/row_layouts/layout/repos_row_item_menu.xml b/app/src/main/res/layouts/row_layouts/layout/repos_row_item_menu.xml index 3edf5441..c67f5043 100644 --- a/app/src/main/res/layouts/row_layouts/layout/repos_row_item_menu.xml +++ b/app/src/main/res/layouts/row_layouts/layout/repos_row_item_menu.xml @@ -10,6 +10,7 @@ android:background="?selectableItemBackground" android:ellipsize="end" android:maxLines="1" + android:minHeight="48dp" android:paddingBottom="@dimen/spacing_normal" android:paddingEnd="@dimen/spacing_xs_large" android:paddingStart="@dimen/keyline_1" diff --git a/app/src/main/res/raw/changelog.html b/app/src/main/res/raw/changelog.html index 555ae28b..db136c11 100644 --- a/app/src/main/res/raw/changelog.html +++ b/app/src/main/res/raw/changelog.html @@ -1,98 +1,94 @@ - - - - - Untitled Document.md - - - -

FastHub changelog -

-

Version 4.0.0 (Multiple Accounts, Enterprise & PR changes) -

-
-

Thanks to - @passsy & his company - @grandcentrix - for providing me with an Enterprise account in their server to ease implementing Enterprise support inFastHub. -

-
-
-

Thanks to - cookicons - for creating - FastHub - new icon. -

-
-
-

Thanks to - @dedepete - for helping out with CI & configuring nightly builds for - FastHub -

-
-

Bugs , Enhancements & new Features (4.0.0) -

- -
-

P.S: FastHub is still in development mode, things will eventually come, rating FastHub 1 or 5 stars in Play store to request a new - feature or to report an issue they’ll be ignored, the best place to report issues/FRs are in GitHub issue ticket, you could go to - About & click on Report Issue and the issue will be posted directly to - FastHub repo. -

-
-
-

Thanks to everyone who contributed either via reporting bugs or via code contribution

-
-

- Thank you very much -

- - - \ No newline at end of file +

FastHub changelog +

+

Version 4.0.1 (Multiple Accounts, Enterprise & PR changes) +

+
+

Thanks to + @passsy & his company + @grandcentrix + for providing me with an Enterprise account in their server to ease implementing Enterprise support in   FastHub. +

+
+
+

Thanks to + cookicons + for creating + FastHub + new icon. +

+
+
+

Thanks to + @dedepete + for helping out with CI & configuring nightly builds for + FastHub +

+
+

Bugs , Enhancements & new Features (4.0.1 & 4.0.0) +

+ +
+

P.S: FastHub is still in development mode, things will eventually come, rating FastHub 1 or 5 stars in Play store to request a new + feature or to report an issue they’ll be ignored, the best place to report issues/FRs are in GitHub issue ticket, you could go to + About & click on + Report Issue + and the issue will be posted directly to + FastHub + repo. +

+
+
+

Thanks to everyone who contributed either via reporting bugs or via code contribution

+
+

+ Thank you very much +

\ No newline at end of file