Guest User

Untitled

a guest
Jun 18th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.50 KB | None | 0 0
  1. package com.padcmyanmar.sfc.activities;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.design.widget.FloatingActionButton;
  6. import android.support.design.widget.Snackbar;
  7. import android.support.v4.widget.DrawerLayout;
  8. import android.support.v7.widget.LinearLayoutManager;
  9. import android.support.v7.widget.Toolbar;
  10. import android.util.Log;
  11. import android.view.Menu;
  12. import android.view.MenuItem;
  13. import android.view.View;
  14.  
  15. import com.padcmyanmar.sfc.R;
  16. import com.padcmyanmar.sfc.SFCNewsApp;
  17. import com.padcmyanmar.sfc.adapters.NewsAdapter;
  18. import com.padcmyanmar.sfc.components.EmptyViewPod;
  19. import com.padcmyanmar.sfc.components.SmartRecyclerView;
  20. import com.padcmyanmar.sfc.components.SmartScrollListener;
  21. import com.padcmyanmar.sfc.data.models.NewsModel;
  22. import com.padcmyanmar.sfc.data.vo.NewsVO;
  23. import com.padcmyanmar.sfc.delegates.NewsItemDelegate;
  24. import com.padcmyanmar.sfc.events.RestApiEvents;
  25. import com.padcmyanmar.sfc.events.TapNewsEvent;
  26. import com.padcmyanmar.sfc.mvp.presenters.NewsListPresenter;
  27. import com.padcmyanmar.sfc.mvp.views.NewsListView;
  28.  
  29. import org.greenrobot.eventbus.EventBus;
  30. import org.greenrobot.eventbus.Subscribe;
  31. import org.greenrobot.eventbus.ThreadMode;
  32.  
  33. import java.util.Date;
  34. import java.util.List;
  35.  
  36. import butterknife.BindView;
  37. import butterknife.ButterKnife;
  38.  
  39. public class NewsListActivity extends BaseActivity
  40. implements NewsItemDelegate,
  41. NewsListView {
  42.  
  43. @BindView(R.id.drawer_layout)
  44. DrawerLayout drawerLayout;
  45.  
  46. @BindView(R.id.rv_news)
  47. SmartRecyclerView rvNews;
  48.  
  49. @BindView(R.id.vp_empty_news)
  50. EmptyViewPod vpEmptyNews;
  51.  
  52. private SmartScrollListener mSmartScrollListener;
  53.  
  54. private NewsAdapter mNewsAdapter;
  55.  
  56. private NewsListPresenter mPresenter;
  57.  
  58. @Override
  59. protected void onCreate(Bundle savedInstanceState) {
  60. super.onCreate(savedInstanceState);
  61. setContentView(R.layout.activity_news_list);
  62. ButterKnife.bind(this, this);
  63.  
  64. mPresenter = new NewsListPresenter(this);
  65. mPresenter.onCreate();
  66.  
  67. Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  68. setSupportActionBar(toolbar);
  69.  
  70. FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
  71. fab.setOnClickListener(new View.OnClickListener() {
  72. @Override
  73. public void onClick(View view) {
  74. /*
  75. Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
  76. .setAction("Action", null).show();
  77. */
  78.  
  79. //drawerLayout.openDrawer(GravityCompat.START);
  80.  
  81. /*
  82. Intent intent = LoginRegisterActivity.newIntent(getApplicationContext());
  83. startActivity(intent);
  84. */
  85.  
  86. Date today = new Date();
  87. Log.d(SFCNewsApp.LOG_TAG, "Today (with default format) : " + today.toString());
  88. }
  89. });
  90.  
  91. rvNews.setEmptyView(vpEmptyNews);
  92. rvNews.setLayoutManager(new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.VERTICAL, false));
  93. mNewsAdapter = new NewsAdapter(getApplicationContext(), this);
  94. rvNews.setAdapter(mNewsAdapter);
  95.  
  96. mSmartScrollListener = new SmartScrollListener(new SmartScrollListener.OnSmartScrollListener() {
  97. @Override
  98. public void onListEndReach() {
  99. //Snackbar.make(rvNews, "This is all the data for NOW.", Snackbar.LENGTH_LONG).show();
  100. //TODO load more data.
  101. }
  102. });
  103.  
  104. rvNews.addOnScrollListener(mSmartScrollListener);
  105.  
  106. mPresenter.onFinishSetupUIComponent();
  107. }
  108.  
  109. @Override
  110. protected void onStart() {
  111. super.onStart();
  112. mPresenter.onStart();
  113. }
  114.  
  115. @Override
  116. protected void onResume() {
  117. super.onResume();
  118. mPresenter.onResume();
  119. }
  120.  
  121. @Override
  122. protected void onPause() {
  123. super.onPause();
  124. mPresenter.onPause();
  125. }
  126.  
  127. @Override
  128. protected void onStop() {
  129. super.onStop();
  130. mPresenter.onStop();
  131. }
  132.  
  133. @Override
  134. protected void onDestroy() {
  135. super.onDestroy();
  136. mPresenter.onDestroy();
  137. }
  138.  
  139. @Override
  140. public boolean onCreateOptionsMenu(Menu menu) {
  141. // Inflate the menu; this adds items to the action bar if it is present.
  142. getMenuInflater().inflate(R.menu.menu_news_list, menu);
  143. return true;
  144. }
  145.  
  146. @Override
  147. public boolean onOptionsItemSelected(MenuItem item) {
  148. // Handle action bar item clicks here. The action bar will
  149. // automatically handle clicks on the Home/Up button, so long
  150. // as you specify a parent activity in AndroidManifest.xml.
  151. int id = item.getItemId();
  152.  
  153. //noinspection SimplifiableIfStatement
  154. if (id == R.id.action_settings) {
  155. return true;
  156. }
  157.  
  158. return super.onOptionsItemSelected(item);
  159. }
  160.  
  161. @Override
  162. public void onTapComment() {
  163.  
  164. }
  165.  
  166. @Override
  167. public void onTapSendTo() {
  168.  
  169. }
  170.  
  171. @Override
  172. public void onTapFavorite() {
  173.  
  174. }
  175.  
  176. @Override
  177. public void onTapStatistics() {
  178.  
  179. }
  180.  
  181. @Override
  182. public void onTapNews() {
  183. Intent intent = NewsDetailsActivity.newIntent(getApplicationContext());
  184. startActivity(intent);
  185. }
  186.  
  187. @Override
  188. public void displayNewsList(List<NewsVO> newsList) {
  189. mNewsAdapter.appendNewData(newsList);
  190. }
  191.  
  192. @Override
  193. public void displayErrorMsg(String errorMsg) {
  194. Snackbar.make(rvNews, errorMsg, Snackbar.LENGTH_INDEFINITE).show();
  195. }
  196. }
Add Comment
Please, Sign In to add comment