diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7f5a082..0e2ac4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -33,6 +33,11 @@ android:screenOrientation="portrait" android:name=".issuelist.IssueListActivity_" /> + + diff --git a/app/src/main/java/br/com/luisfernandez/github/client/pullrequest/PullRequestListActivity.kt b/app/src/main/java/br/com/luisfernandez/github/client/pullrequest/PullRequestListActivity.kt index 5b1b519..e54874d 100644 --- a/app/src/main/java/br/com/luisfernandez/github/client/pullrequest/PullRequestListActivity.kt +++ b/app/src/main/java/br/com/luisfernandez/github/client/pullrequest/PullRequestListActivity.kt @@ -42,7 +42,7 @@ class PullRequestListActivity : AppCompatActivity(), PullRequestListView { recyclerView.layoutManager = layoutManager recyclerView.setHasFixedSize(true) -// + setupViewModel() viewModel.loadPullRequestList(owner, repoName) diff --git a/app/src/main/java/br/com/luisfernandez/github/client/repodetails/BranchesFragment.kt b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/BranchesFragment.kt new file mode 100644 index 0000000..204ec0e --- /dev/null +++ b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/BranchesFragment.kt @@ -0,0 +1,21 @@ +package br.com.luisfernandez.github.client.repodetails + + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +import br.com.luisfernandez.github.client.R + +class BranchesFragment : Fragment() { + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?): View? { + + return inflater.inflate(R.layout.fragment_branches, container, false) + } + + +} diff --git a/app/src/main/java/br/com/luisfernandez/github/client/repodetails/CollaboratorsFragment.kt b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/CollaboratorsFragment.kt new file mode 100644 index 0000000..22b6fab --- /dev/null +++ b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/CollaboratorsFragment.kt @@ -0,0 +1,21 @@ +package br.com.luisfernandez.github.client.repodetails + + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +import br.com.luisfernandez.github.client.R + +class CollaboratorsFragment : Fragment() { + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?): View? { + + return inflater.inflate(R.layout.fragment_collaborators, container, false) + } + + +} diff --git a/app/src/main/java/br/com/luisfernandez/github/client/repodetails/CommitsFragment.kt b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/CommitsFragment.kt new file mode 100644 index 0000000..fc7122b --- /dev/null +++ b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/CommitsFragment.kt @@ -0,0 +1,21 @@ +package br.com.luisfernandez.github.client.repodetails + + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +import br.com.luisfernandez.github.client.R + +class CommitsFragment : Fragment() { + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?): View? { + + return inflater.inflate(R.layout.fragment_commits, container, false) + } + + +} diff --git a/app/src/main/java/br/com/luisfernandez/github/client/repodetails/IssuesFragment.kt b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/IssuesFragment.kt new file mode 100644 index 0000000..1c2eb81 --- /dev/null +++ b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/IssuesFragment.kt @@ -0,0 +1,21 @@ +package br.com.luisfernandez.github.client.repodetails + + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +import br.com.luisfernandez.github.client.R + +class IssuesFragment : Fragment() { + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?): View? { + + return inflater.inflate(R.layout.fragment_issues, container, false) + } + + +} diff --git a/app/src/main/java/br/com/luisfernandez/github/client/repodetails/PullRequestsFragment.kt b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/PullRequestsFragment.kt new file mode 100644 index 0000000..273232f --- /dev/null +++ b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/PullRequestsFragment.kt @@ -0,0 +1,21 @@ +package br.com.luisfernandez.github.client.repodetails + + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +import br.com.luisfernandez.github.client.R + +class PullRequestsFragment : Fragment() { + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?): View? { + + return inflater.inflate(R.layout.fragment_pull_requests, container, false) + } + + +} diff --git a/app/src/main/java/br/com/luisfernandez/github/client/repodetails/RepoDetailsActivity.kt b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/RepoDetailsActivity.kt new file mode 100644 index 0000000..7e29ef9 --- /dev/null +++ b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/RepoDetailsActivity.kt @@ -0,0 +1,45 @@ +package br.com.luisfernandez.github.client.repodetails + +import android.annotation.SuppressLint +import android.support.v7.app.AppCompatActivity +import br.com.luisfernandez.github.client.R +import kotlinx.android.synthetic.main.activity_repo_details.* +import org.androidannotations.annotations.AfterViews +import org.androidannotations.annotations.EActivity +import org.androidannotations.annotations.Extra + +@SuppressLint("Registered") +@EActivity(R.layout.activity_repo_details) +class RepoDetailsActivity : AppCompatActivity() { + + @Extra + lateinit var owner: String + + @Extra + lateinit var repoName: String + + @AfterViews + fun afterViews() { + this.configToolbar() + + val fragmentAdapter = RepoDetailsPagerAdapter(supportFragmentManager) + repo_detail_viewpager.adapter = fragmentAdapter + + repo_detail_tablayout.setupWithViewPager(repo_detail_viewpager) + } + + private fun configToolbar() { + setSupportActionBar(toolbar) + supportActionBar?.let { + title = repoName + supportActionBar?.setDisplayHomeAsUpEnabled(true) + supportActionBar?.setDisplayShowHomeEnabled(true) + supportActionBar?.setDisplayShowTitleEnabled(true) + } + } + + override fun onSupportNavigateUp(): Boolean { + onBackPressed() + return true + } +} diff --git a/app/src/main/java/br/com/luisfernandez/github/client/repodetails/RepoDetailsPagerAdapter.kt b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/RepoDetailsPagerAdapter.kt new file mode 100644 index 0000000..0a1d403 --- /dev/null +++ b/app/src/main/java/br/com/luisfernandez/github/client/repodetails/RepoDetailsPagerAdapter.kt @@ -0,0 +1,38 @@ +package br.com.luisfernandez.github.client.repodetails + +import android.support.v4.app.Fragment +import android.support.v4.app.FragmentManager +import android.support.v4.app.FragmentPagerAdapter + +class RepoDetailsPagerAdapter(fm: FragmentManager): + FragmentPagerAdapter(fm) { + + override fun getCount(): Int { + return 5 + } + + override fun getItem(position: Int): Fragment { + return when(position) { + 0 -> PullRequestsFragment() + 1 -> IssuesFragment() + 2 -> CommitsFragment() + 3 -> CollaboratorsFragment() + 4 -> BranchesFragment() + + else -> PullRequestsFragment() + } + } + + override fun getPageTitle(position: Int): CharSequence? { + return when(position){ + 0 -> "PullRequests" + 1 -> "Issues" + 2 -> "Commits" + 3 -> "Collaborators" + 4 -> "Branches" + + else -> "PullRequests" + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/br/com/luisfernandez/github/client/repolist/RepoListActivity.kt b/app/src/main/java/br/com/luisfernandez/github/client/repolist/RepoListActivity.kt index 7862933..d458201 100644 --- a/app/src/main/java/br/com/luisfernandez/github/client/repolist/RepoListActivity.kt +++ b/app/src/main/java/br/com/luisfernandez/github/client/repolist/RepoListActivity.kt @@ -15,6 +15,7 @@ import br.com.luisfernandez.github.client.http.model.ServerError import br.com.luisfernandez.github.client.issuelist.IssueListActivity_ import br.com.luisfernandez.github.client.pojo.Repo import br.com.luisfernandez.github.client.pullrequest.PullRequestListActivity_ +import br.com.luisfernandez.github.client.repodetails.RepoDetailsActivity_ import com.crashlytics.android.answers.Answers import com.crashlytics.android.answers.SearchEvent import com.miguelcatalan.materialsearchview.MaterialSearchView @@ -128,7 +129,7 @@ class RepoListActivity : AppCompatActivity(), RepoListView { private fun getOnItemClickListener(): OnItemClickListener { return object : OnItemClickListener { override fun onItemClick(type: Repo) { - goToPullRequestActivity(type) + goToRepoDetailsActivity(type) } } } @@ -165,6 +166,14 @@ class RepoListActivity : AppCompatActivity(), RepoListView { .start() } + private fun goToRepoDetailsActivity(type: Repo) { + RepoDetailsActivity_ + .intent(this@RepoListActivity) + .owner(type.owner.login) + .repoName(type.name) + .start() + } + private fun loadMoreContent() { this@RepoListActivity.isLoadingState = true recyclerView.post { repoListAdapter.showFooter() } diff --git a/app/src/main/res/layout/activity_repo_details.xml b/app/src/main/res/layout/activity_repo_details.xml new file mode 100644 index 0000000..54000b9 --- /dev/null +++ b/app/src/main/res/layout/activity_repo_details.xml @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_branches.xml b/app/src/main/res/layout/fragment_branches.xml new file mode 100644 index 0000000..20a29b3 --- /dev/null +++ b/app/src/main/res/layout/fragment_branches.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_collaborators.xml b/app/src/main/res/layout/fragment_collaborators.xml new file mode 100644 index 0000000..6f5a920 --- /dev/null +++ b/app/src/main/res/layout/fragment_collaborators.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_commits.xml b/app/src/main/res/layout/fragment_commits.xml new file mode 100644 index 0000000..8be10b1 --- /dev/null +++ b/app/src/main/res/layout/fragment_commits.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_issues.xml b/app/src/main/res/layout/fragment_issues.xml new file mode 100644 index 0000000..8536989 --- /dev/null +++ b/app/src/main/res/layout/fragment_issues.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_pull_requests.xml b/app/src/main/res/layout/fragment_pull_requests.xml new file mode 100644 index 0000000..96f7bab --- /dev/null +++ b/app/src/main/res/layout/fragment_pull_requests.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file