/* * Copyright (c) 2015 [1076559197@qq.com | tchen0707@gmail.com] * * Licensed under the Apache License, Version 2.0 (the "Licenseā€); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.github.obsessive.simplifyreader.ui.activity; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.AdapterView; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.github.obsessive.library.adapter.ListViewDataAdapter; import com.github.obsessive.library.adapter.ViewHolderBase; import com.github.obsessive.library.adapter.ViewHolderCreator; import com.github.obsessive.library.base.BaseWebActivity; import com.github.obsessive.library.eventbus.EventCenter; import com.github.obsessive.library.netstatus.NetUtils; import com.github.obsessive.library.utils.CommonUtils; import com.github.obsessive.library.utils.TLog; import com.github.obsessive.simplifyreader.R; import com.github.obsessive.simplifyreader.bean.AboutListEntity; import com.github.obsessive.simplifyreader.ui.activity.base.BaseSwipeBackActivity; import com.github.obsessive.simplifyreader.ui.activity.qrcode.decode.DecodeUtils; import butterknife.ButterKnife; import butterknife.InjectView; /** * Author: Tau.Chen * Email: 1076559197@qq.com | tauchen1990@gmail.com * Date: 15/7/23 * Description: */ public class AboutUsActivity extends BaseSwipeBackActivity { @InjectView(R.id.about_us_pay) ImageView mPayCode; @InjectView(R.id.about_us_list) ListView mListView; private String[] mAboutArray = null; private AboutListEntity mItemData = null; private ListViewDataAdapter<AboutListEntity> mListViewDataAdapter = null; @Override protected boolean isApplyKitKatTranslucency() { return true; } @Override protected void getBundleExtras(Bundle extras) { } @Override protected int getContentViewLayoutID() { return R.layout.activity_about_us; } @Override protected void onEventComming(EventCenter eventCenter) { } @Override protected View getLoadingTargetView() { return null; } @Override protected void initViewsAndEvents() { mAboutArray = getResources().getStringArray(R.array.about_list); mListViewDataAdapter = new ListViewDataAdapter<>(new ViewHolderCreator<AboutListEntity>() { @Override public ViewHolderBase<AboutListEntity> createViewHolder(int position) { return new ViewHolderBase<AboutListEntity>() { TextView mTitle; TextView mSubTitle; @Override public View createView(LayoutInflater layoutInflater) { View convertView = layoutInflater.inflate(R.layout.list_item_about, null); mTitle = ButterKnife.findById(convertView, R.id.list_item_about_title); mSubTitle = ButterKnife.findById(convertView, R.id.list_item_about_sub_title); return convertView; } @Override public void showData(int position, AboutListEntity itemData) { if (null != itemData) { if (!CommonUtils.isEmpty(itemData.getTitle())) { mTitle.setText(itemData.getTitle()); } if (!CommonUtils.isEmpty(itemData.getSubTitle())) { mSubTitle.setText(itemData.getSubTitle()); } } } }; } }); mListView.setAdapter(mListViewDataAdapter); mItemData = new AboutListEntity(); mItemData.setTitle(mAboutArray[0]); try { PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_ACTIVITIES); String version = String.format(getResources().getString(R.string.splash_version), packageInfo.versionName); if (!CommonUtils.isEmpty(version)) { mItemData.setSubTitle(version); } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } mListViewDataAdapter.getDataList().add(mItemData); mItemData = new AboutListEntity(); mItemData.setTitle(mAboutArray[1]); mItemData.setSubTitle("https://github.com/SkillCollege"); mListViewDataAdapter.getDataList().add(mItemData); mItemData = new AboutListEntity(); mItemData.setTitle(mAboutArray[2]); mItemData.setSubTitle("https://github.com/SkillCollege/SimplifyReader"); mListViewDataAdapter.getDataList().add(mItemData); mItemData = new AboutListEntity(); mItemData.setTitle(mAboutArray[3]); mListViewDataAdapter.getDataList().add(mItemData); mItemData = new AboutListEntity(); mItemData.setTitle(mAboutArray[4]); mListViewDataAdapter.getDataList().add(mItemData); mListViewDataAdapter.notifyDataSetChanged(); mPayCode.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_VIEW); DecodeUtils decodeUtils = new DecodeUtils(DecodeUtils.DECODE_DATA_MODE_ALL); String url = decodeUtils.decodeWithZxing(BitmapFactory.decodeResource(getResources(), R.drawable.pay_qrcode)); if (!CommonUtils.isEmpty(url)) { TLog.d(TAG_LOG, url); intent.setData(Uri.parse(url)); } startActivity(intent); } }); mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Bundle extras = new Bundle(); switch (position) { case 0: // version break; case 1: // author extras.putString(BaseWebActivity.BUNDLE_KEY_TITLE, mAboutArray[1]); extras.putBoolean(BaseWebActivity.BUNDLE_KEY_SHOW_BOTTOM_BAR, true); extras.putString(BaseWebActivity.BUNDLE_KEY_URL, "https://github.com/SkillCollege"); readyGo(BaseWebActivity.class, extras); break; case 2: // project index extras.putString(BaseWebActivity.BUNDLE_KEY_TITLE, mAboutArray[2]); extras.putBoolean(BaseWebActivity.BUNDLE_KEY_SHOW_BOTTOM_BAR, true); extras.putString(BaseWebActivity.BUNDLE_KEY_URL, "https://github.com/SkillCollege/SimplifyReader"); readyGo(BaseWebActivity.class, extras); break; case 3: // project description extras.putString(BaseWebActivity.BUNDLE_KEY_TITLE, mAboutArray[3]); extras.putBoolean(BaseWebActivity.BUNDLE_KEY_SHOW_BOTTOM_BAR, false); extras.putString(BaseWebActivity.BUNDLE_KEY_URL, "file:///android_asset/project_description.html"); readyGo(BaseWebActivity.class, extras); break; case 4: // open source description extras.putString(BaseWebActivity.BUNDLE_KEY_TITLE, mAboutArray[4]); extras.putBoolean(BaseWebActivity.BUNDLE_KEY_SHOW_BOTTOM_BAR, false); extras.putString(BaseWebActivity.BUNDLE_KEY_URL, "file:///android_asset/open_source.html"); readyGo(BaseWebActivity.class, extras); break; } } }); } @Override protected void onNetworkConnected(NetUtils.NetType type) { } @Override protected void onNetworkDisConnected() { } @Override protected boolean isApplyStatusBarTranslucency() { return true; } @Override protected boolean isBindEventBusHere() { return false; } @Override protected boolean toggleOverridePendingTransition() { return true; } @Override protected TransitionMode getOverridePendingTransitionMode() { return TransitionMode.RIGHT; } }