admin
2021-02-20 f8a5683d08f2e6f832578b2fd5c795888ddcae64
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/DownloadActivity.java
@@ -18,199 +18,182 @@
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("全选");
            }
        }
    }
}