导航菜单

页面标题

页面副标题

微商客 v2.1.2 - PickerAlbumActivity.java 源代码

正在查看: 微商客 v2.1.2 应用的 PickerAlbumActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.qiyukf.uikit.common.media.picker.activity;

import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.qiyukf.module.log.UnicornLog;
import com.qiyukf.uikit.common.activity.BaseFragmentActivity;
import com.qiyukf.uikit.common.media.picker.a.b;
import com.qiyukf.uikit.common.media.picker.fragment.PickerAlbumFragment;
import com.qiyukf.uikit.common.media.picker.fragment.PickerImageFragment;
import com.qiyukf.uikit.common.media.picker.model.PhotoInfo;
import com.qiyukf.unicorn.R;
import com.qiyukf.unicorn.api.UICustomization;
import com.qiyukf.unicorn.c;
import com.qiyukf.unicorn.m.a;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class PickerAlbumActivity extends BaseFragmentActivity implements View.OnClickListener, PickerAlbumFragment.OnAlbumItemClickListener, PickerImageFragment.OnPhotoSelectClickListener {
    private static final String TAG = "PickerAlbumActivity";
    private boolean isAlbumPage;
    private boolean isMultiMode;
    private boolean isSendOriginalImage;
    private boolean isSupportOriginal;
    private int multiSelectLimitSize;
    private PickerAlbumFragment photoFolderFragment;
    private PickerImageFragment photoFragment;
    private FrameLayout pickerAlbumLayout;
    private FrameLayout pickerPhotosLayout;
    private TextView pickerPreview;
    private TextView pickerSend;
    private List<PhotoInfo> hasSelectList = new ArrayList();
    private int orientation = 1;

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.ysf_picker_album_activity);
        proceedExtra();
        initUI();
        setTitle(R.string.ysf_picker_image_folder);
    }

    private void proceedExtra() {
        Intent intent = getIntent();
        if (intent != null) {
            this.isMultiMode = intent.getBooleanExtra("multi_select_mode", false);
            this.multiSelectLimitSize = intent.getIntExtra("multi_select_size_limit", 9);
            this.isSupportOriginal = intent.getBooleanExtra("support_original", false);
        }
    }

    private void initUI() {
        RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.picker_bottombar);
        if (this.isMultiMode) {
            relativeLayout.setVisibility(0);
        } else {
            relativeLayout.setVisibility(8);
        }
        TextView textView = (TextView) findViewById(R.id.picker_bottombar_preview);
        this.pickerPreview = textView;
        textView.setOnClickListener(this);
        TextView textView2 = (TextView) findViewById(R.id.picker_bottombar_select);
        this.pickerSend = textView2;
        textView2.setOnClickListener(this);
        this.pickerAlbumLayout = (FrameLayout) findViewById(R.id.picker_album_fragment);
        this.pickerPhotosLayout = (FrameLayout) findViewById(R.id.picker_photos_fragment);
        this.photoFolderFragment = new PickerAlbumFragment();
        replaceFragment(R.id.picker_album_fragment, this.photoFolderFragment);
        this.isAlbumPage = true;
        if (a.a().d()) {
            this.pickerPreview.setTextColor(Color.parseColor(a.a().c().h()));
            return;
        }
        try {
            UICustomization uICustomization = c.g().uiCustomization;
            if (uICustomization == null || uICustomization.buttonBackgroundColorList <= 0) {
                return;
            }
            this.pickerPreview.setTextColor(getResources().getColorStateList(uICustomization.buttonBackgroundColorList));
        } catch (Exception e) {
            UnicornLog.e(TAG, "ui customization error: ", e);
        }
    }

    @Override
    public void onAlbumItemClick(com.qiyukf.uikit.common.media.picker.model.a aVar) {
        List<PhotoInfo> e = aVar.e();
        if (e == null) {
            return;
        }
        for (PhotoInfo photoInfo : e) {
            if (checkSelectPhoto(photoInfo)) {
                photoInfo.setChoose(true);
            } else {
                photoInfo.setChoose(false);
            }
        }
        this.pickerAlbumLayout.setVisibility(8);
        this.pickerPhotosLayout.setVisibility(0);
        if (this.photoFragment == null) {
            this.photoFragment = new PickerImageFragment();
            b.a(this, new ArrayList(e));
            this.photoFragment.setArguments(makeDataBundle(this.isMultiMode, this.multiSelectLimitSize));
            replaceFragment(R.id.picker_photos_fragment, this.photoFragment);
        } else {
            this.photoFragment.resetFragment(e, this.hasSelectList.size());
        }
        setTitle(aVar.d());
        this.isAlbumPage = false;
    }

    private Bundle makeDataBundle(boolean z, int i) {
        Bundle bundle = new Bundle();
        bundle.putBoolean("multi_select_mode", z);
        bundle.putInt("multi_select_size_limit", i);
        bundle.putInt("extra_screen_orientation", this.orientation);
        return bundle;
    }

    @Override
    public void onPhotoSingleClick(List<PhotoInfo> list, int i) {
        if (this.isMultiMode) {
            PickerAlbumPreviewActivity.start((Activity) this, list, i, this.isSupportOriginal, this.isSendOriginalImage, this.hasSelectList, this.multiSelectLimitSize);
            return;
        }
        if (list != null) {
            PhotoInfo photoInfo = list.get(i);
            ArrayList arrayList = new ArrayList();
            arrayList.add(photoInfo);
            setResult(-1, com.qiyukf.uikit.common.media.picker.model.b.a(arrayList, false));
            finish();
        }
    }

    @Override
    public void onPhotoSelectClick(PhotoInfo photoInfo) {
        if (photoInfo == null) {
            return;
        }
        if (photoInfo.isChoose()) {
            if (!checkSelectPhoto(photoInfo)) {
                addSelectPhoto(photoInfo);
            }
        } else {
            removeSelectPhoto(photoInfo);
        }
        updateSelectBtnStatus();
    }

    private boolean checkSelectPhoto(PhotoInfo photoInfo) {
        for (int i = 0; i < this.hasSelectList.size(); i++) {
            if (this.hasSelectList.get(i).getImageId() == photoInfo.getImageId()) {
                return true;
            }
        }
        return false;
    }

    private void removeSelectPhoto(PhotoInfo photoInfo) {
        Iterator<PhotoInfo> it = this.hasSelectList.iterator();
        while (it.hasNext()) {
            if (it.next().getImageId() == photoInfo.getImageId()) {
                it.remove();
            }
        }
    }

    private void addSelectPhoto(PhotoInfo photoInfo) {
        this.hasSelectList.add(photoInfo);
    }

    private void resetSelectPhotos(List<PhotoInfo> list) {
        List<PhotoInfo> list2 = this.hasSelectList;
        if (list2 != null) {
            list2.clear();
        } else {
            this.hasSelectList = new ArrayList();
        }
        this.hasSelectList.addAll(list);
    }

    private void updateSelectBtnStatus() {
        int size = this.hasSelectList.size();
        if (size > 0) {
            this.pickerPreview.setEnabled(true);
            this.pickerSend.setEnabled(true);
            this.pickerSend.setText(String.format(getResources().getString(R.string.ysf_picker_image_send_select), Integer.valueOf(size)));
        } else {
            this.pickerPreview.setEnabled(false);
            this.pickerSend.setEnabled(false);
            this.pickerSend.setText(R.string.ysf_send);
        }
    }

    @Override
    public void onClick(View view) {
        if (view.getId() == R.id.picker_bottombar_preview) {
            List<PhotoInfo> list = this.hasSelectList;
            PickerAlbumPreviewActivity.start((Activity) this, list, 0, this.isSupportOriginal, this.isSendOriginalImage, list, this.multiSelectLimitSize);
        } else if (view.getId() == R.id.picker_bottombar_select) {
            setResult(-1, com.qiyukf.uikit.common.media.picker.model.b.a(this.hasSelectList, this.isSendOriginalImage));
            finish();
        }
    }

    @Override
    public void onBackPressed() {
        if (this.isAlbumPage) {
            finish();
        } else {
            backToAlbumPage();
        }
    }

    private void backToAlbumPage() {
        setTitle(R.string.ysf_picker_image_folder);
        this.isAlbumPage = true;
        this.pickerAlbumLayout.setVisibility(0);
        this.pickerPhotosLayout.setVisibility(8);
    }

    protected void onActivityResult(int i, int i2, Intent intent) {
        List<PhotoInfo> list;
        if (i != 5 || intent == null) {
            return;
        }
        if (i2 == -1) {
            setResult(-1, new Intent(intent));
            finish();
            return;
        }
        if (i2 == 2) {
            this.isSendOriginalImage = intent.getBooleanExtra("is_original", false);
            List<PhotoInfo> b = com.qiyukf.uikit.common.media.picker.model.b.b(intent);
            PickerImageFragment pickerImageFragment = this.photoFragment;
            if (pickerImageFragment != null && b != null) {
                pickerImageFragment.updateSelectPhotos(b);
            }
            resetSelectPhotos(com.qiyukf.uikit.common.media.picker.model.b.b(intent));
            updateSelectBtnStatus();
            PickerImageFragment pickerImageFragment2 = this.photoFragment;
            if (pickerImageFragment2 == null || (list = this.hasSelectList) == null) {
                return;
            }
            pickerImageFragment2.updateSelectedForAdapter(list.size());
        }
    }

    @Override
    public void onConfigurationChanged(Configuration configuration) {
        this.orientation = configuration.orientation;
        super.onConfigurationChanged(configuration);
    }
}