| | |
| | | |
| | | import com.lcjian.library.util.FragmentSwitchHelper; |
| | | import com.weikou.beibeivideo.R; |
| | | import com.weikou.beibeivideo.ui.BaseActivity; |
| | | import com.weikou.beibeivideo.ui.recent.DownloadAdapter2; |
| | | import com.weikou.beibeivideo.ui.recent.OfflineCacheFragment2; |
| | | import com.weikou.beibeivideo.ui.recent.WatchHistoryFragment; |
| | | |
| | | public class DownloadActivity extends FragmentActivity implements |
| | | DownloadAdapter2.IGetDeleteCallback, OnClickListener { |
| | | private FragmentSwitchHelper mFragmentSwitchHelper; |
| | | public class DownloadActivity extends BaseActivity implements |
| | | DownloadAdapter2.IGetDeleteCallback, OnClickListener { |
| | | private FragmentSwitchHelper mFragmentSwitchHelper; |
| | | |
| | | private ToggleButton btn_delete; |
| | | private ToggleButton btn_delete; |
| | | |
| | | private LinearLayout ll_recent_bottom; |
| | | private LinearLayout ll_recent_bottom; |
| | | |
| | | private Button btn_select_all; |
| | | private Button btn_select_all; |
| | | |
| | | private Button btn_delete_item; |
| | | private Button btn_delete_item; |
| | | |
| | | @Override |
| | | protected void onCreate(Bundle arg0) { |
| | | super.onCreate(arg0); |
| | | setContentView(R.layout.activity_download); |
| | | /* |
| | | * 计算状态栏高度并设置 |
| | | */ |
| | | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { |
| | | Window window = getWindow(); |
| | | window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, |
| | | WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); |
| | | int result = 0; |
| | | int resourceId = getResources().getIdentifier("status_bar_height", |
| | | "dimen", "android"); |
| | | if (resourceId > 0) { |
| | | result = getResources().getDimensionPixelSize(resourceId); |
| | | } |
| | | LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, |
| | | result); |
| | | findViewById(R.id.v_status_bar).setLayoutParams(params); |
| | | } else { |
| | | findViewById(R.id.v_status_bar).setVisibility(View.GONE); |
| | | } |
| | | OfflineCacheFragment2 cacheFragment2 = new OfflineCacheFragment2(); |
| | | cacheFragment2.setDeleteCallback(this); |
| | | mFragmentSwitchHelper = FragmentSwitchHelper.create( |
| | | R.id.fl_offlinecache_fragment_container, |
| | | getSupportFragmentManager(), cacheFragment2); |
| | | @Override |
| | | protected void onCreate(Bundle arg0) { |
| | | super.onCreate(arg0); |
| | | setContentView(R.layout.activity_download); |
| | | initStatusBar(); |
| | | OfflineCacheFragment2 cacheFragment2 = new OfflineCacheFragment2(); |
| | | cacheFragment2.setDeleteCallback(this); |
| | | mFragmentSwitchHelper = FragmentSwitchHelper.create( |
| | | R.id.fl_offlinecache_fragment_container, |
| | | getSupportFragmentManager(), cacheFragment2); |
| | | |
| | | ((TextView) findViewById(R.id.tv_top_bar_left)).setText("返回"); |
| | | ((TextView) findViewById(R.id.tv_top_bar_middle)).setText("离线缓存"); |
| | | mFragmentSwitchHelper.changeFragment(OfflineCacheFragment2.class); |
| | | findViewById(R.id.tv_top_bar_left).setOnClickListener( |
| | | new OnClickListener() { |
| | | ((TextView) findViewById(R.id.tv_top_bar_left)).setText("返回"); |
| | | ((TextView) findViewById(R.id.tv_top_bar_middle)).setText("离线缓存"); |
| | | mFragmentSwitchHelper.changeFragment(OfflineCacheFragment2.class); |
| | | findViewById(R.id.tv_top_bar_left).setOnClickListener( |
| | | new OnClickListener() { |
| | | |
| | | @Override |
| | | public void onClick(View arg0) { |
| | | finish(); |
| | | } |
| | | }); |
| | | btn_delete = (ToggleButton) findViewById(R.id.btn_delete); |
| | | btn_delete.setOnClickListener(this); |
| | | @Override |
| | | public void onClick(View arg0) { |
| | | finish(); |
| | | } |
| | | }); |
| | | btn_delete = (ToggleButton) findViewById(R.id.btn_delete); |
| | | btn_delete.setOnClickListener(this); |
| | | |
| | | ll_recent_bottom = (LinearLayout) findViewById(R.id.ll_recent_bottom); |
| | | btn_select_all = (Button) findViewById(R.id.btn_select_all); |
| | | btn_delete_item = (Button) findViewById(R.id.btn_delete_item); |
| | | btn_select_all.setOnClickListener(this); |
| | | btn_delete_item.setOnClickListener(this); |
| | | ll_recent_bottom.post(new Runnable() { |
| | | ll_recent_bottom = (LinearLayout) findViewById(R.id.ll_recent_bottom); |
| | | btn_select_all = (Button) findViewById(R.id.btn_select_all); |
| | | btn_delete_item = (Button) findViewById(R.id.btn_delete_item); |
| | | btn_select_all.setOnClickListener(this); |
| | | btn_delete_item.setOnClickListener(this); |
| | | ll_recent_bottom.post(new Runnable() { |
| | | |
| | | @Override |
| | | public void run() { |
| | | updateView(); |
| | | } |
| | | }); |
| | | } |
| | | @Override |
| | | public void run() { |
| | | updateView(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public void onGetNum(int count) { |
| | | if (count == 0) { |
| | | btn_delete_item.setText("删除"); |
| | | } else { |
| | | btn_delete_item.setText("删除(" + count + ")"); |
| | | } |
| | | } |
| | | @Override |
| | | public void onGetNum(int count) { |
| | | if (count == 0) { |
| | | btn_delete_item.setText("删除"); |
| | | } else { |
| | | btn_delete_item.setText("删除(" + count + ")"); |
| | | } |
| | | } |
| | | |
| | | boolean isSelected = false; |
| | | boolean isDeleted = false;// 是否已经执行删除操作,如过为true:删除已经执行,ll_recent_bottom设置为gone,如果给false,删除操作未执行,ll_recent_bottom设置为Visibilily; |
| | | boolean isSelected = false; |
| | | boolean isDeleted = false;// 是否已经执行删除操作,如过为true:删除已经执行,ll_recent_bottom设置为gone,如果给false,删除操作未执行,ll_recent_bottom设置为Visibilily; |
| | | |
| | | @Override |
| | | public void onClick(View v) { |
| | | switch (v.getId()) { |
| | | case R.id.btn_delete: { |
| | | Fragment fragment = getSupportFragmentManager().findFragmentByTag( |
| | | OfflineCacheFragment2.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((OfflineCacheFragment2) fragment) |
| | | .setSelectedMode(!((OfflineCacheFragment2) fragment) |
| | | .isSelectedMode()); |
| | | } else { |
| | | fragment = getSupportFragmentManager().findFragmentByTag( |
| | | WatchHistoryFragment.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((WatchHistoryFragment) fragment) |
| | | .setSelectedMode(!((WatchHistoryFragment) fragment) |
| | | .isSelectedMode()); |
| | | } |
| | | } |
| | | updateView(); |
| | | } |
| | | break; |
| | | case R.id.btn_select_all: { |
| | | isSelected = !isSelected; |
| | | if (isSelected) { |
| | | btn_select_all.setText("全不选"); |
| | | } else { |
| | | btn_select_all.setText("全选"); |
| | | } |
| | | Fragment fragment = getSupportFragmentManager().findFragmentByTag( |
| | | OfflineCacheFragment2.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((OfflineCacheFragment2) fragment).selectAll(isSelected); |
| | | } else { |
| | | fragment = getSupportFragmentManager().findFragmentByTag( |
| | | WatchHistoryFragment.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((WatchHistoryFragment) fragment).selectAll(isSelected); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case R.id.btn_delete_item: { |
| | | @Override |
| | | public void onClick(View v) { |
| | | switch (v.getId()) { |
| | | case R.id.btn_delete: { |
| | | Fragment fragment = getSupportFragmentManager().findFragmentByTag( |
| | | OfflineCacheFragment2.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((OfflineCacheFragment2) fragment) |
| | | .setSelectedMode(!((OfflineCacheFragment2) fragment) |
| | | .isSelectedMode()); |
| | | } else { |
| | | fragment = getSupportFragmentManager().findFragmentByTag( |
| | | WatchHistoryFragment.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((WatchHistoryFragment) fragment) |
| | | .setSelectedMode(!((WatchHistoryFragment) fragment) |
| | | .isSelectedMode()); |
| | | } |
| | | } |
| | | updateView(); |
| | | } |
| | | break; |
| | | case R.id.btn_select_all: { |
| | | isSelected = !isSelected; |
| | | if (isSelected) { |
| | | btn_select_all.setText("全不选"); |
| | | } else { |
| | | btn_select_all.setText("全选"); |
| | | } |
| | | Fragment fragment = getSupportFragmentManager().findFragmentByTag( |
| | | OfflineCacheFragment2.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((OfflineCacheFragment2) fragment).selectAll(isSelected); |
| | | } else { |
| | | fragment = getSupportFragmentManager().findFragmentByTag( |
| | | WatchHistoryFragment.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((WatchHistoryFragment) fragment).selectAll(isSelected); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case R.id.btn_delete_item: { |
| | | |
| | | Fragment fragment = getSupportFragmentManager().findFragmentByTag( |
| | | OfflineCacheFragment2.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((OfflineCacheFragment2) fragment).deleteDownload(); |
| | | btn_delete_item.setText("删除"); |
| | | } else { |
| | | fragment = getSupportFragmentManager().findFragmentByTag( |
| | | WatchHistoryFragment.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((WatchHistoryFragment) fragment).deleteWatchHistory(); |
| | | btn_delete_item.setText("删除"); |
| | | } |
| | | } |
| | | ll_recent_bottom.postDelayed(new Runnable() { |
| | | Fragment fragment = getSupportFragmentManager().findFragmentByTag( |
| | | OfflineCacheFragment2.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((OfflineCacheFragment2) fragment).deleteDownload(); |
| | | btn_delete_item.setText("删除"); |
| | | } else { |
| | | fragment = getSupportFragmentManager().findFragmentByTag( |
| | | WatchHistoryFragment.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | ((WatchHistoryFragment) fragment).deleteWatchHistory(); |
| | | btn_delete_item.setText("删除"); |
| | | } |
| | | } |
| | | ll_recent_bottom.postDelayed(new Runnable() { |
| | | |
| | | @Override |
| | | public void run() { |
| | | isDeleted = true; |
| | | updateView(); |
| | | } |
| | | }, 500); |
| | | } |
| | | break; |
| | | case R.id.tv_no_network: { |
| | | Intent intent = new Intent(Settings.ACTION_SETTINGS); |
| | | startActivity(intent); |
| | | } |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | @Override |
| | | public void run() { |
| | | isDeleted = true; |
| | | updateView(); |
| | | } |
| | | }, 500); |
| | | } |
| | | break; |
| | | case R.id.tv_no_network: { |
| | | Intent intent = new Intent(Settings.ACTION_SETTINGS); |
| | | startActivity(intent); |
| | | } |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | private void updateView() { |
| | | boolean noData = false; |
| | | boolean selectedMode = false; |
| | | Fragment fragment = getSupportFragmentManager().findFragmentByTag( |
| | | OfflineCacheFragment2.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | noData = ((OfflineCacheFragment2) fragment).getCount() == 0; |
| | | if (noData) { |
| | | ((OfflineCacheFragment2) fragment).setSelectedMode(false); |
| | | } |
| | | selectedMode = ((OfflineCacheFragment2) fragment).isSelectedMode(); |
| | | } else { |
| | | fragment = getSupportFragmentManager().findFragmentByTag( |
| | | WatchHistoryFragment.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | noData = ((WatchHistoryFragment) fragment).getCount() == 0; |
| | | if (noData) { |
| | | ((WatchHistoryFragment) fragment).setSelectedMode(false); |
| | | } |
| | | selectedMode = ((WatchHistoryFragment) fragment) |
| | | .isSelectedMode(); |
| | | } |
| | | } |
| | | ll_recent_bottom.setVisibility(selectedMode ? View.VISIBLE : View.GONE); |
| | | if (ll_recent_bottom.isShown()) { |
| | | } else { |
| | | btn_delete_item.setText("删除"); |
| | | if (isSelected) { |
| | | isSelected = false; |
| | | btn_select_all.setText("全选"); |
| | | } |
| | | } |
| | | } |
| | | private void updateView() { |
| | | boolean noData = false; |
| | | boolean selectedMode = false; |
| | | Fragment fragment = getSupportFragmentManager().findFragmentByTag( |
| | | OfflineCacheFragment2.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | noData = ((OfflineCacheFragment2) fragment).getCount() == 0; |
| | | if (noData) { |
| | | ((OfflineCacheFragment2) fragment).setSelectedMode(false); |
| | | } |
| | | selectedMode = ((OfflineCacheFragment2) fragment).isSelectedMode(); |
| | | } else { |
| | | fragment = getSupportFragmentManager().findFragmentByTag( |
| | | WatchHistoryFragment.class.getName()); |
| | | if (fragment != null && fragment.isResumed()) { |
| | | noData = ((WatchHistoryFragment) fragment).getCount() == 0; |
| | | if (noData) { |
| | | ((WatchHistoryFragment) fragment).setSelectedMode(false); |
| | | } |
| | | selectedMode = ((WatchHistoryFragment) fragment) |
| | | .isSelectedMode(); |
| | | } |
| | | } |
| | | ll_recent_bottom.setVisibility(selectedMode ? View.VISIBLE : View.GONE); |
| | | if (ll_recent_bottom.isShown()) { |
| | | } else { |
| | | btn_delete_item.setText("删除"); |
| | | if (isSelected) { |
| | | isSelected = false; |
| | | btn_select_all.setText("全选"); |
| | | } |
| | | } |
| | | } |
| | | } |