号簿助手 v4.6.31版本的 MD5 值为:9d7ff98a6bb5cc178eac2df4d1b2f0e0
以下内容为反编译后的 TimeMachineUnlimitedStepsViewAdapter.java 源代码,内容仅作参考
package com.chinatelecom.pim.ui.adapter.setting;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.chinatelecom.pim.R;
import com.chinatelecom.pim.activity.setting.ContactBackupSettingActivity;
import com.chinatelecom.pim.core.CoreManagerFactory;
import com.chinatelecom.pim.core.manager.PreferenceKeyManager;
import com.chinatelecom.pim.foundation.common.view.ViewAdapter;
import com.chinatelecom.pim.foundation.common.view.ViewModel;
import com.chinatelecom.pim.foundation.lang.model.Theme;
import com.chinatelecom.pim.ui.view.HeaderView;
import com.chinatelecom.pim.ui.view.dialog.DialogFactory;
import com.chinatelecom.pim.ui.view.setting.SettingListItem;
public class TimeMachineUnlimitedStepsViewAdapter extends ViewAdapter<TimeMachineUnlimitedStepsModel> {
private final int[] autoFrequencyArray;
private final String[] autoFrequencyDescriptions;
private PreferenceKeyManager preferenceKeyManager;
private PreferenceKeyManager.ContactBackupSetting setting;
private final String[] updloadTypeDesCriptions;
public TimeMachineUnlimitedStepsViewAdapter(Activity activity, Theme theme) {
super(activity, theme);
this.preferenceKeyManager = CoreManagerFactory.getInstance().getPreferenceKeyManager();
this.setting = this.preferenceKeyManager.getContactBackupSetting();
this.updloadTypeDesCriptions = new String[]{"客户端启动后自动上传", "联系人修改后自动上传", "定时上传"};
this.autoFrequencyDescriptions = new String[]{"每天", "每3天", "每7天"};
this.autoFrequencyArray = new int[]{1, 3, 7};
}
@Override
public TimeMachineUnlimitedStepsModel doSetup() {
Activity activity = getActivity();
TimeMachineUnlimitedStepsModel model = new TimeMachineUnlimitedStepsModel();
activity.setContentView(R.layout.time_machine_unlimited_steps_activity);
model.setHeaderView((HeaderView) activity.findViewById(R.id.header_view));
model.setContactBackupSettingLayout((LinearLayout) activity.findViewById(R.id.contact_auto_backup_list_layout));
model.setBtUnlimitedRecoverNext((Button) activity.findViewById(R.id.bt_unlimited_recover_next));
model.setAutoSyncContact(new SettingListItem(getActivity()).builder());
model.setAutoUploadByLaunch(new SettingListItem(getActivity()).builder());
model.setAutoSyncfrequency(new SettingListItem(getActivity()).builder());
model.setRlUnlimitedStepFirst((RelativeLayout) activity.findViewById(R.id.unlimited_step_first));
model.setRlUnlimitedStepSecond((RelativeLayout) activity.findViewById(R.id.unlimited_step_second));
model.setRlUnlimitedStepFinish((RelativeLayout) activity.findViewById(R.id.unlimited_step_finish));
model.setTvUnlimitedSuccessNotes((TextView) activity.findViewById(R.id.tv_unlimited_success_notes));
model.setBtUnlimitedRecoverHowtouse((Button) activity.findViewById(R.id.bt_unlimited_recover_howtouse));
model.setBtUnlimitedRecoverMoreEquity((Button) activity.findViewById(R.id.bt_unlimited_vip_equity));
return model;
}
public void initView() {
if (this.preferenceKeyManager.getContactBackupSetting().openUnlimitedRecoveryMemberShip().get().booleanValue()) {
showStepFinish();
getModel().getRlUnlimitedStepFirst().setVisibility(8);
getModel().getRlUnlimitedStepSecond().setVisibility(8);
popupSelectAutoUploadDialog();
return;
}
createUploadContactLayout();
}
private void popupSelectAutoUploadDialog() {
if (!this.preferenceKeyManager.getContactBackupSetting().openAutoBackupContact().get().booleanValue()) {
DialogFactory.createConfirmDialog(getActivity(), "是否需要打开联系人自动上传?", "", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
TimeMachineUnlimitedStepsViewAdapter.this.getActivity().startActivity(new Intent(TimeMachineUnlimitedStepsViewAdapter.this.getActivity(), (Class<?>) ContactBackupSettingActivity.class));
}
}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
}).show();
}
}
public void showStepFinish() {
getModel().getRlUnlimitedStepFinish().setVisibility(0);
setSuccessNoteTime();
}
public void setSuccessNoteTime() {
String openTime = this.preferenceKeyManager.getContactBackupSetting().unlimitedRecoveryOpentedTime().get();
String note = "- 您已于" + openTime + "成功开通无限次时光倒流服务;\n- 如需查看或恢复历史通讯录,请登录号簿助手官网(http://pim.189.cn) 进行操作。";
getModel().getTvUnlimitedSuccessNotes().setText(note);
}
private void addAutoSyncContactLayout() {
getModel().getContactBackupSettingLayout().removeAllViewsInLayout();
getModel().getAutoSyncContact().setDisplayName("自动上传").setRightImage(this.setting.openAutoBackupContact().get().booleanValue() ? R.drawable.ic_call_details_black_open : R.drawable.ic_call_details_black_close).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TimeMachineUnlimitedStepsViewAdapter.this.setting.openAutoBackupContact().set(Boolean.valueOf(!TimeMachineUnlimitedStepsViewAdapter.this.setting.openAutoBackupContact().get().booleanValue()));
TimeMachineUnlimitedStepsViewAdapter.this.resetScheduleExecuteTime();
TimeMachineUnlimitedStepsViewAdapter.this.createUploadContactLayout();
}
}).attach(getModel().getContactBackupSettingLayout(), false);
}
public void resetScheduleExecuteTime() {
if (!this.setting.openAutoBackupContact().get().booleanValue()) {
this.preferenceKeyManager.getContactSettings().lastExecuteTimeByContactSchedule().set(0L);
} else if (!this.setting.autoUploadBySchedule().get().booleanValue()) {
this.preferenceKeyManager.getContactSettings().lastExecuteTimeByContactSchedule().set(0L);
}
}
private int initAutoUploadContactType() {
if (this.setting.autoUploadByLaunch().get().booleanValue()) {
return 0;
}
if (this.setting.autoUploadByUpdate().get().booleanValue()) {
return 1;
}
if (!this.setting.autoUploadBySchedule().get().booleanValue()) {
return -1;
}
return 2;
}
public void createUploadContactLayout() {
addAutoSyncContactLayout();
if (this.setting.openAutoBackupContact().get().booleanValue()) {
int type = initAutoUploadContactType();
if (type >= 0 && type <= 2) {
getModel().getAutoUploadByLaunch().setDisplayName("上传方式", Integer.valueOf(getActivity().getResources().getColor(R.color.content_edit_input))).setDescription(this.updloadTypeDesCriptions[type], Integer.valueOf(getActivity().getResources().getColor(R.color.content_edit_type_content))).setBackgroundResource(R.drawable.bg_column_selector).setRightImage(R.drawable.ic_list_item_child_32).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TimeMachineUnlimitedStepsViewAdapter.this.createUploadDialog();
}
}).attach(getModel().getContactBackupSettingLayout(), false);
}
if (type == 2) {
createAutoFrequecyLayout();
}
}
}
public void createAutoFrequecyLayout() {
int autoFrequency = this.setting.contactBackupFrequency().get().intValue();
int index = -1;
if (autoFrequency == this.autoFrequencyArray[0]) {
index = 0;
} else if (autoFrequency == this.autoFrequencyArray[1]) {
index = 1;
} else if (autoFrequency == this.autoFrequencyArray[2]) {
index = 2;
}
if (index >= 0 && index <= 2) {
getModel().getAutoSyncfrequency().setDisplayName("上传周期", Integer.valueOf(getActivity().getResources().getColor(R.color.content_edit_input))).setDescription(this.autoFrequencyDescriptions[index], Integer.valueOf(getActivity().getResources().getColor(R.color.content_edit_type_content))).setBackgroundResource(R.drawable.bg_column_selector).setRightImage(R.drawable.ic_list_item_child_32).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TimeMachineUnlimitedStepsViewAdapter.this.createAutoFrequencyDialog();
}
}).attach(getModel().getContactBackupSettingLayout(), false);
}
}
public void createAutoFrequencyDialog() {
DialogFactory.createListDialog(getActivity(), 0, "选择上传频率", "", "", this.autoFrequencyDescriptions, null, null, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
int autofrequency = TimeMachineUnlimitedStepsViewAdapter.this.autoFrequencyArray[0];
if (i >= 0 && i <= 2) {
autofrequency = TimeMachineUnlimitedStepsViewAdapter.this.autoFrequencyArray[i];
}
TimeMachineUnlimitedStepsViewAdapter.this.setting.contactBackupFrequency().set(Integer.valueOf(autofrequency));
TimeMachineUnlimitedStepsViewAdapter.this.getModel().getContactBackupSettingLayout().removeView(TimeMachineUnlimitedStepsViewAdapter.this.getModel().getAutoSyncfrequency().build());
TimeMachineUnlimitedStepsViewAdapter.this.createAutoFrequecyLayout();
}
}).show();
}
public void createUploadDialog() {
DialogFactory.createListDialog(getActivity(), 0, "选择默认上传方式", "", "", this.updloadTypeDesCriptions, null, null, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
switch (i) {
case 0:
TimeMachineUnlimitedStepsViewAdapter.this.setting.autoUploadByLaunch().set(true);
TimeMachineUnlimitedStepsViewAdapter.this.setting.autoUploadByUpdate().set(false);
TimeMachineUnlimitedStepsViewAdapter.this.setting.autoUploadBySchedule().set(false);
break;
case 1:
TimeMachineUnlimitedStepsViewAdapter.this.setting.autoUploadByLaunch().set(false);
TimeMachineUnlimitedStepsViewAdapter.this.setting.autoUploadByUpdate().set(true);
TimeMachineUnlimitedStepsViewAdapter.this.setting.autoUploadBySchedule().set(false);
break;
case 2:
TimeMachineUnlimitedStepsViewAdapter.this.setting.autoUploadByLaunch().set(false);
TimeMachineUnlimitedStepsViewAdapter.this.setting.autoUploadByUpdate().set(false);
TimeMachineUnlimitedStepsViewAdapter.this.setting.autoUploadBySchedule().set(true);
break;
}
TimeMachineUnlimitedStepsViewAdapter.this.resetScheduleExecuteTime();
TimeMachineUnlimitedStepsViewAdapter.this.createUploadContactLayout();
}
}).show();
}
public static class TimeMachineUnlimitedStepsModel extends ViewModel {
private SettingListItem.ListItemBuilder autoSyncContact;
private SettingListItem.ListItemBuilder autoSyncfrequency;
private SettingListItem.ListItemBuilder autoUploadByLaunch;
private SettingListItem.ListItemBuilder autoUploadBySchedule;
private SettingListItem.ListItemBuilder autoUploadByUpdate;
private Button btUnlimitedRecoverHowtouse;
private Button btUnlimitedRecoverMoreEquity;
private Button btUnlimitedRecoverNext;
private LinearLayout contactBackupSettingLayout;
private HeaderView headerView;
private RelativeLayout rlUnlimitedStepFinish;
private RelativeLayout rlUnlimitedStepFirst;
private RelativeLayout rlUnlimitedStepSecond;
private TextView tvUnlimitedSuccessNotes;
public HeaderView getHeaderView() {
return this.headerView;
}
public void setHeaderView(HeaderView headerView) {
this.headerView = headerView;
}
public LinearLayout getContactBackupSettingLayout() {
return this.contactBackupSettingLayout;
}
public void setContactBackupSettingLayout(LinearLayout contactBackupSettingLayout) {
this.contactBackupSettingLayout = contactBackupSettingLayout;
}
public SettingListItem.ListItemBuilder getAutoSyncContact() {
return this.autoSyncContact;
}
public void setAutoSyncContact(SettingListItem.ListItemBuilder autoSyncContact) {
this.autoSyncContact = autoSyncContact;
}
public SettingListItem.ListItemBuilder getAutoUploadByLaunch() {
return this.autoUploadByLaunch;
}
public void setAutoUploadByLaunch(SettingListItem.ListItemBuilder autoUploadByLaunch) {
this.autoUploadByLaunch = autoUploadByLaunch;
}
public SettingListItem.ListItemBuilder getAutoUploadByUpdate() {
return this.autoUploadByUpdate;
}
public void setAutoUploadByUpdate(SettingListItem.ListItemBuilder autoUploadByUpdate) {
this.autoUploadByUpdate = autoUploadByUpdate;
}
public SettingListItem.ListItemBuilder getAutoUploadBySchedule() {
return this.autoUploadBySchedule;
}
public void setAutoUploadBySchedule(SettingListItem.ListItemBuilder autoUploadBySchedule) {
this.autoUploadBySchedule = autoUploadBySchedule;
}
public SettingListItem.ListItemBuilder getAutoSyncfrequency() {
return this.autoSyncfrequency;
}
public void setAutoSyncfrequency(SettingListItem.ListItemBuilder autoSyncfrequency) {
this.autoSyncfrequency = autoSyncfrequency;
}
public Button getBtUnlimitedRecoverNext() {
return this.btUnlimitedRecoverNext;
}
public void setBtUnlimitedRecoverNext(Button btUnlimitedRecoverNext) {
this.btUnlimitedRecoverNext = btUnlimitedRecoverNext;
}
public RelativeLayout getRlUnlimitedStepFirst() {
return this.rlUnlimitedStepFirst;
}
public void setRlUnlimitedStepFirst(RelativeLayout rlUnlimitedStepFirst) {
this.rlUnlimitedStepFirst = rlUnlimitedStepFirst;
}
public RelativeLayout getRlUnlimitedStepSecond() {
return this.rlUnlimitedStepSecond;
}
public void setRlUnlimitedStepSecond(RelativeLayout rlUnlimitedStepSecond) {
this.rlUnlimitedStepSecond = rlUnlimitedStepSecond;
}
public RelativeLayout getRlUnlimitedStepFinish() {
return this.rlUnlimitedStepFinish;
}
public void setRlUnlimitedStepFinish(RelativeLayout rlUnlimitedStepFinish) {
this.rlUnlimitedStepFinish = rlUnlimitedStepFinish;
}
public TextView getTvUnlimitedSuccessNotes() {
return this.tvUnlimitedSuccessNotes;
}
public void setTvUnlimitedSuccessNotes(TextView tvUnlimitedSuccessNotes) {
this.tvUnlimitedSuccessNotes = tvUnlimitedSuccessNotes;
}
public Button getBtUnlimitedRecoverHowtouse() {
return this.btUnlimitedRecoverHowtouse;
}
public void setBtUnlimitedRecoverHowtouse(Button btUnlimitedRecoverHowtouse) {
this.btUnlimitedRecoverHowtouse = btUnlimitedRecoverHowtouse;
}
public Button getBtUnlimitedRecoverMoreEquity() {
return this.btUnlimitedRecoverMoreEquity;
}
public void setBtUnlimitedRecoverMoreEquity(Button btUnlimitedRecoverMoreEquity) {
this.btUnlimitedRecoverMoreEquity = btUnlimitedRecoverMoreEquity;
}
}
}