From dfdb377dee0d72797f1aec1a322ff457aa405f2e Mon Sep 17 00:00:00 2001 From: Aditya Aggarwal Date: Sat, 21 Oct 2017 20:12:41 +0530 Subject: [PATCH] Changed Position of Search to Filter BottomSheet Also fixed the FC on orientation change --- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 2 +- .../profile/org/repos/OrgReposFragment.java | 7 +++ .../ProfileReposFilterBottomSheetDialog.java | 11 ++++ .../profile/repos/ProfileReposFragment.java | 7 +++ .../ui/modules/search/SearchUserActivity.kt | 55 +++++++++++++------ .../ui/modules/user/UserPagerActivity.java | 5 -- .../layout/filter_bottom_sheet.xml | 8 +++ app/src/main/res/menu/search_menu_solo.xml | 11 ---- 9 files changed, 74 insertions(+), 36 deletions(-) delete mode 100644 app/src/main/res/menu/search_menu_solo.xml diff --git a/app/build.gradle b/app/build.gradle index abb7a717..48b872b1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -168,7 +168,6 @@ dependencies { implementation 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.1.0' implementation 'com.airbnb.android:lottie:2.2.5' implementation 'com.firebase:firebase-jobdispatcher:0.8.2' - implementation 'com.android.support.constraint:constraint-layout:1.0.2' compileOnly "org.projectlombok:lombok:${lombokVersion}" kapt "org.projectlombok:lombok:${lombokVersion}" kapt "com.evernote:android-state-processor:${state_version}" @@ -189,5 +188,4 @@ dependencies { } apply plugin: 'ManifestClasspath' -apply plugin: 'com.google.gms.google-services' -apply plugin: 'kotlin-android-extensions' \ No newline at end of file +apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1688c734..d20a4d45 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -316,7 +316,7 @@ android:name="io.fabric.ApiKey" android:value="6ed82b6e0756853d7d782a3f547f84f9ecba217e" /> - + \ No newline at end of file diff --git a/app/src/main/java/com/fastaccess/ui/modules/profile/org/repos/OrgReposFragment.java b/app/src/main/java/com/fastaccess/ui/modules/profile/org/repos/OrgReposFragment.java index 84fc2287..7f523483 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/profile/org/repos/OrgReposFragment.java +++ b/app/src/main/java/com/fastaccess/ui/modules/profile/org/repos/OrgReposFragment.java @@ -36,6 +36,7 @@ public class OrgReposFragment extends BaseFragment onLoadMore; private ReposAdapter adapter; + private String username; public static OrgReposFragment newInstance(@NonNull String username) { OrgReposFragment view = new OrgReposFragment(); @@ -64,6 +65,7 @@ public class OrgReposFragment extends BaseFragment onLoadMore; private ReposAdapter adapter; + private String username; public static ProfileReposFragment newInstance(@NonNull String username) { ProfileReposFragment view = new ProfileReposFragment(); @@ -63,6 +64,7 @@ public class ProfileReposFragment extends BaseFragment>() { companion object { @@ -34,6 +36,10 @@ class SearchUserActivity : AppCompatActivity() { } } + @BindView(R.id.forkCheckBox) lateinit var forkCheckBox: CheckBox + @BindView(R.id.clear) lateinit var clear: View + @BindView(R.id.searchEditText) lateinit var searchEditText: FontAutoCompleteEditText + private var username = "" private var searchTerm = "" private var isFork = true @@ -41,7 +47,6 @@ class SearchUserActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_search_user) ButterKnife.bind(this) searchReposFragment = SearchReposFragment.newInstance() @@ -50,14 +55,15 @@ class SearchUserActivity : AppCompatActivity() { .commit() val args = intent.extras - username = args.getString(USERNAME) - if (InputHelper.isEmpty(username)) - throw UninitializedPropertyAccessException("Username cannot be empty") - searchTerm = args.getString(SEARCH_TERM) - if (InputHelper.isEmpty(searchTerm)) - searchTerm = "" - Logger.d(username + " " + searchTerm) - makeSearch() + Logger.d("savedS $args") + if (args != null) { + username = args.getString(USERNAME) + if (InputHelper.isEmpty(username)) + throw UninitializedPropertyAccessException("Username cannot be empty") + searchTerm = args.getString(SEARCH_TERM) + searchEditText.setText(searchTerm) + onSearchClicked() + } forkCheckBox.setOnClickListener { isFork = forkCheckBox.isChecked @@ -65,6 +71,11 @@ class SearchUserActivity : AppCompatActivity() { } } + override fun onSaveInstanceState(outState: Bundle?) { + super.onSaveInstanceState(outState) + intent.putExtra(SEARCH_TERM, searchTerm) + } + @OnTextChanged(value = R.id.searchEditText, callback = OnTextChanged.Callback.AFTER_TEXT_CHANGED) fun onTextChange(str: Editable) { searchTerm = str.toString() @@ -78,6 +89,7 @@ class SearchUserActivity : AppCompatActivity() { @OnClick(R.id.search) fun onSearchClicked() { searchTerm = searchEditText.text.toString() + Logger.d("savedS $searchTerm") makeSearch() } @@ -92,4 +104,15 @@ class SearchUserActivity : AppCompatActivity() { Logger.d(query) searchReposFragment.onQueueSearch(query) } + + override fun layout(): Int = R.layout.activity_search_user + + override fun isTransparent(): Boolean = false + + override fun canBack(): Boolean = true + + override fun providePresenter(): BasePresenter = BasePresenter() + + override fun isSecured(): Boolean = false + } 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 7a90fd8c..e9842cf2 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 @@ -244,7 +244,6 @@ public class UserPagerActivity extends BaseActivity + diff --git a/app/src/main/res/menu/search_menu_solo.xml b/app/src/main/res/menu/search_menu_solo.xml deleted file mode 100644 index 65f2590f..00000000 --- a/app/src/main/res/menu/search_menu_solo.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - \ No newline at end of file