use of com.nightonke.saver.model.AppUpdateManager in project CoCoin by Nightonke.
the class MainActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
// Bmob.initialize(CoCoinApplication.getAppContext(), CoCoin.APPLICATION_ID);
// CrashReport.initCrashReport(CoCoinApplication.getAppContext(), "900016815", false);
// RecordManager.getInstance(CoCoinApplication.getAppContext());
// CoCoinUtil.init(CoCoinApplication.getAppContext());
appUpdateManager = new AppUpdateManager(mContext);
appUpdateManager.checkUpdateInfo(false);
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor magneticSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
Sensor accelerometerSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(listener, magneticSensor, SensorManager.SENSOR_DELAY_GAME);
sensorManager.registerListener(listener, accelerometerSensor, SensorManager.SENSOR_DELAY_GAME);
superToast = new SuperToast(this);
superActivityToast = new SuperActivityToast(this, SuperToast.Type.PROGRESS_HORIZONTAL);
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
Log.d("Saver", "Version number: " + currentapiVersion);
if (currentapiVersion >= Build.VERSION_CODES.LOLLIPOP) {
// Do something for lollipop and above versions
Window window = this.getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(ContextCompat.getColor(mContext, R.color.statusBarColor));
} else {
// do something for phones running an SDK before lollipop
}
User user = BmobUser.getCurrentUser(CoCoinApplication.getAppContext(), User.class);
if (user != null) {
SettingManager.getInstance().setLoggenOn(true);
SettingManager.getInstance().setUserName(user.getUsername());
SettingManager.getInstance().setUserEmail(user.getEmail());
showToast(WELCOME_BACK);
// 允许用户使用应用
} else {
SettingManager.getInstance().setLoggenOn(false);
//缓存用户对象为空时, 可打开用户注册界面…
}
guillotineBackground = findViewById(R.id.guillotine_background);
toolBarTitle = (TextView) findViewById(R.id.guillotine_title);
toolBarTitle.setTypeface(CoCoinUtil.typefaceLatoLight);
toolBarTitle.setText(SettingManager.getInstance().getAccountBookName());
// edit viewpager///////////////////////////////////////////////////////////////////////////////////
editViewPager = (CoCoinScrollableViewPager) findViewById(R.id.edit_pager);
editAdapter = new EditMoneyRemarkFragmentAdapter(getSupportFragmentManager(), CoCoinFragmentManager.MAIN_ACTIVITY_FRAGMENT);
editViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (position == 1) {
if (CoCoinFragmentManager.mainActivityEditRemarkFragment != null)
CoCoinFragmentManager.mainActivityEditRemarkFragment.editRequestFocus();
} else {
if (CoCoinFragmentManager.mainActivityEditMoneyFragment != null)
CoCoinFragmentManager.mainActivityEditMoneyFragment.editRequestFocus();
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
editViewPager.setAdapter(editAdapter);
// tag viewpager////////////////////////////////////////////////////////////////////////////////////
tagViewPager = (ViewPager) findViewById(R.id.viewpager);
if (RecordManager.getInstance(mContext).TAGS.size() % 8 == 0)
tagAdapter = new TagChooseFragmentAdapter(getSupportFragmentManager(), RecordManager.TAGS.size() / 8);
else
tagAdapter = new TagChooseFragmentAdapter(getSupportFragmentManager(), RecordManager.TAGS.size() / 8 + 1);
tagViewPager.setAdapter(tagAdapter);
// button grid view/////////////////////////////////////////////////////////////////////////////////
myGridView = (MyGridView) findViewById(R.id.gridview);
myGridViewAdapter = new ButtonGridViewAdapter(this);
myGridView.setAdapter(myGridViewAdapter);
myGridView.setOnItemClickListener(gridViewClickListener);
myGridView.setOnItemLongClickListener(gridViewLongClickListener);
myGridView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
myGridView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
View lastChild = myGridView.getChildAt(myGridView.getChildCount() - 1);
myGridView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, lastChild.getBottom()));
ViewGroup.LayoutParams params = transparentLy.getLayoutParams();
params.height = myGridView.getMeasuredHeight();
}
});
ButterKnife.inject(this);
if (toolbar != null) {
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);
}
toolbar.hideOverflowMenu();
guillotineMenu = LayoutInflater.from(this).inflate(R.layout.guillotine, null);
root.addView(guillotineMenu);
transparentLy = (LinearLayout) guillotineMenu.findViewById(R.id.transparent_ly);
guillotineColorLy = (LinearLayout) guillotineMenu.findViewById(R.id.guillotine_color_ly);
guillotineToolBar = (Toolbar) guillotineMenu.findViewById(R.id.toolbar);
menuToolBarTitle = (TextView) guillotineMenu.findViewById(R.id.guillotine_title);
menuToolBarTitle.setTypeface(CoCoinUtil.typefaceLatoLight);
menuToolBarTitle.setText(SettingManager.getInstance().getAccountBookName());
radioButton0 = (RadioButton) guillotineMenu.findViewById(R.id.radio_button_0);
radioButton1 = (RadioButton) guillotineMenu.findViewById(R.id.radio_button_1);
radioButton2 = (RadioButton) guillotineMenu.findViewById(R.id.radio_button_2);
radioButton3 = (RadioButton) guillotineMenu.findViewById(R.id.radio_button_3);
passwordTip = (TextView) guillotineMenu.findViewById(R.id.password_tip);
passwordTip.setText(mContext.getResources().getString(R.string.password_tip));
passwordTip.setTypeface(CoCoinUtil.typefaceLatoLight);
radioButtonLy = (LinearLayout) guillotineMenu.findViewById(R.id.radio_button_ly);
statusButton = (MaterialMenuView) guillotineMenu.findViewById(R.id.status_button);
statusButton.setState(MaterialMenuDrawable.IconState.ARROW);
statusButton.setOnClickListener(statusButtonOnClickListener);
animation = new GuillotineAnimation.GuillotineBuilder(guillotineMenu, guillotineMenu.findViewById(R.id.guillotine_hamburger), contentHamburger).setStartDelay(RIPPLE_DURATION).setActionBarViewForAnimation(toolbar).setClosedOnStart(true).setGuillotineListener(new GuillotineListener() {
@Override
public void onGuillotineOpened() {
isPassword = true;
}
@Override
public void onGuillotineClosed() {
isPassword = false;
CoCoinFragmentManager.mainActivityEditMoneyFragment.editRequestFocus();
radioButton0.setChecked(false);
radioButton1.setChecked(false);
radioButton2.setChecked(false);
radioButton3.setChecked(false);
inputPassword = "";
statusButton.setState(MaterialMenuDrawable.IconState.ARROW);
}
}).build();
toolbar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
animation.open();
}
});
if (SettingManager.getInstance().getFirstTime()) {
Intent intent = new Intent(mContext, ShowActivity.class);
startActivity(intent);
}
if (SettingManager.getInstance().getShowMainActivityGuide()) {
boolean wrapInScrollView = true;
new MaterialDialog.Builder(this).title(R.string.guide).typeface(CoCoinUtil.GetTypeface(), CoCoinUtil.GetTypeface()).customView(R.layout.main_activity_guide, wrapInScrollView).positiveText(R.string.ok).show();
SettingManager.getInstance().setShowMainActivityGuide(false);
}
}
use of com.nightonke.saver.model.AppUpdateManager in project CoCoin by Nightonke.
the class AccountBookSettingActivity method init.
// Init the setting activity////////////////////////////////////////////////////////////////////////
private void init() {
back = (MaterialIconView) findViewById(R.id.icon_left);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
logo = (CircleImageView) findViewById(R.id.profile_image);
logo.setOnClickListener(this);
profileLayout = (MaterialRippleLayout) findViewById(R.id.profile_layout);
userNameIcon = (MaterialIconView) findViewById(R.id.user_name_icon);
userEmailIcon = (MaterialIconView) findViewById(R.id.user_email_icon);
userName = (TextView) findViewById(R.id.user_name);
userName.setTypeface(CoCoinUtil.typefaceLatoLight);
userEmail = (TextView) findViewById(R.id.user_email);
userEmail.setTypeface(CoCoinUtil.typefaceLatoLight);
loginButton = (TextView) findViewById(R.id.login_button);
loginButton.setTypeface(CoCoinUtil.typefaceLatoLight);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
userOperator();
}
});
expense = (RiseNumberTextView) findViewById(R.id.expense);
expense.setTypeface(CoCoinUtil.typefaceLatoLight);
records = (RiseNumberTextView) findViewById(R.id.records);
records.setTypeface(CoCoinUtil.typefaceLatoLight);
expenseTV = (TextView) findViewById(R.id.expense_text);
expenseTV.setTypeface(CoCoinUtil.GetTypeface());
recordsTV = (TextView) findViewById(R.id.records_text);
recordsTV.setTypeface(CoCoinUtil.GetTypeface());
expense.withNumber(RecordManager.SUM).setDuration(1500).start();
records.withNumber(RecordManager.RECORDS.size()).setDuration(1500).start();
monthLayout = (MaterialRippleLayout) findViewById(R.id.month_layout);
monthIcon = (MaterialIconView) findViewById(R.id.month_limit_icon);
monthMaxExpenseIcon = (MaterialIconView) findViewById(R.id.month_expense_icon);
monthColorRemindIcon = (MaterialIconView) findViewById(R.id.month_color_icon);
monthWarningIcon = (MaterialIconView) findViewById(R.id.warning_expense_icon);
monthColorRemindTypeIcon = (MaterialIconView) findViewById(R.id.month_color_type_icon);
monthColorRemindSelect = (MaterialIconView) findViewById(R.id.month_color_type);
monthColorRemindSelect.setColor(SettingManager.getInstance().getRemindColor());
monthForbiddenIcon = (MaterialIconView) findViewById(R.id.month_forbidden_icon);
monthSB = (Switch) findViewById(R.id.month_limit_enable_button);
monthSB.setOnCheckedChangeListener(this);
monthColorRemindSB = (Switch) findViewById(R.id.month_color_remind_button);
monthColorRemindSB.setOnCheckedChangeListener(this);
monthForbiddenSB = (Switch) findViewById(R.id.month_forbidden_button);
monthForbiddenSB.setOnCheckedChangeListener(this);
monthMaxExpense = (RiseNumberTextView) findViewById(R.id.month_expense);
if (SettingManager.getInstance().getIsMonthLimit())
monthMaxExpense.withNumber(SettingManager.getInstance().getMonthLimit()).setDuration(1000).start();
// change the month limit///////////////////////////////////////////////////////////////////////////
monthMaxExpense.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (SettingManager.getInstance().getIsMonthLimit()) {
new MaterialDialog.Builder(mContext).theme(Theme.LIGHT).typeface(CoCoinUtil.GetTypeface(), CoCoinUtil.GetTypeface()).title(R.string.set_month_expense_dialog_title).inputType(InputType.TYPE_CLASS_NUMBER).positiveText(R.string.submit).inputRange(3, 5).input(SettingManager.getInstance().getMonthLimit().toString(), null, new MaterialDialog.InputCallback() {
@Override
public void onInput(MaterialDialog dialog, CharSequence input) {
int newExpense = SettingManager.getInstance().getMonthLimit();
if (input.length() != 0) {
newExpense = Integer.parseInt(input.toString());
}
// the month limit must be smaller than the month warning
if (newExpense < SettingManager.getInstance().getMonthWarning()) {
SettingManager.getInstance().setMonthWarning(((int) (newExpense * 0.8) / 100 * 100));
if (SettingManager.getInstance().getMonthWarning() < 100) {
SettingManager.getInstance().setMonthWarning(100);
}
updateSettingsToServer(UPDATE_MONTH_WARNING);
SettingManager.getInstance().setMainViewRemindColorShouldChange(true);
monthWarning.setText(SettingManager.getInstance().getMonthWarning().toString());
}
SettingManager.getInstance().setMonthLimit(newExpense);
updateSettingsToServer(UPDATE_MONTH_LIMIT);
SettingManager.getInstance().setTodayViewMonthExpenseShouldChange(true);
SettingManager.getInstance().setMainViewMonthExpenseShouldChange(true);
monthMaxExpense.withNumber(SettingManager.getInstance().getMonthLimit()).setDuration(1000).start();
}
}).show();
}
}
});
monthWarning = (RiseNumberTextView) findViewById(R.id.warning_expense);
monthWarning.setText(SettingManager.getInstance().getMonthWarning().toString());
if (SettingManager.getInstance().getIsMonthLimit() && SettingManager.getInstance().getIsColorRemind())
monthWarning.withNumber(SettingManager.getInstance().getMonthWarning()).setDuration(1000).start();
// change month warning/////////////////////////////////////////////////////////////////////////////
monthWarning.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (SettingManager.getInstance().getIsMonthLimit() && SettingManager.getInstance().getIsColorRemind()) {
new MaterialDialog.Builder(mContext).theme(Theme.LIGHT).typeface(CoCoinUtil.GetTypeface(), CoCoinUtil.GetTypeface()).title(R.string.set_month_expense_dialog_title).inputType(InputType.TYPE_CLASS_NUMBER).positiveText(R.string.submit).alwaysCallInputCallback().input(null, null, new MaterialDialog.InputCallback() {
@Override
public void onInput(final MaterialDialog dialog, final CharSequence input) {
if (input.length() == 0) {
dialog.setContent(mContext.getResources().getString(R.string.set_warning_expense_dialog_title));
dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false);
} else if (Integer.parseInt(input.toString()) < 100) {
dialog.setContent("≥ 100");
dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false);
} else if (Integer.parseInt(input.toString()) > SettingManager.getInstance().getMonthLimit()) {
dialog.setContent("≤ " + SettingManager.getInstance().getMonthLimit().toString());
dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false);
} else {
dialog.setContent(mContext.getResources().getString(R.string.set_warning_expense_dialog_title));
dialog.getActionButton(DialogAction.POSITIVE).setEnabled(true);
}
dialog.getActionButton(DialogAction.POSITIVE).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SettingManager.getInstance().setMonthWarning(Integer.parseInt(input.toString()));
updateSettingsToServer(UPDATE_MONTH_WARNING);
SettingManager.getInstance().setMainViewRemindColorShouldChange(true);
monthWarning.withNumber(SettingManager.getInstance().getMonthWarning()).setDuration(1000).start();
dialog.dismiss();
}
});
}
}).show();
}
}
});
// change month remind color////////////////////////////////////////////////////////////////////////
monthColorRemindSelect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SettingManager.getInstance().setMainViewRemindColorShouldChange(true);
remindColorSelectDialog.show((AppCompatActivity) mContext);
}
});
monthMaxExpense.setTypeface(CoCoinUtil.typefaceLatoLight);
monthWarning.setTypeface(CoCoinUtil.typefaceLatoLight);
monthLimitTV = (TextView) findViewById(R.id.month_limit_text);
monthLimitTV.setTypeface(CoCoinUtil.GetTypeface());
monthWarningTV = (TextView) findViewById(R.id.warning_expense_text);
monthWarningTV.setTypeface(CoCoinUtil.GetTypeface());
monthMaxExpenseTV = (TextView) findViewById(R.id.month_expense_text);
monthMaxExpenseTV.setTypeface(CoCoinUtil.GetTypeface());
monthColorRemindTV = (TextView) findViewById(R.id.month_color_remind_text);
monthColorRemindTV.setTypeface(CoCoinUtil.GetTypeface());
monthColorRemindTypeTV = (TextView) findViewById(R.id.month_color_type_text);
monthColorRemindTypeTV.setTypeface(CoCoinUtil.GetTypeface());
monthForbiddenTV = (TextView) findViewById(R.id.month_forbidden_text);
monthForbiddenTV.setTypeface(CoCoinUtil.GetTypeface());
accountBookNameLayout = (MaterialRippleLayout) findViewById(R.id.account_book_name_layout);
accountBookNameLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
changeAccountBookName();
}
});
accountBookName = (TextView) findViewById(R.id.account_book_name);
accountBookName.setTypeface(CoCoinUtil.GetTypeface());
accountBookName.setText(SettingManager.getInstance().getAccountBookName());
accountBookNameTV = (TextView) findViewById(R.id.account_book_name_text);
accountBookNameTV.setTypeface(CoCoinUtil.GetTypeface());
changePasswordLayout = (MaterialRippleLayout) findViewById(R.id.change_password_layout);
changePasswordLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
changePassword();
}
});
changePasswordTV = (TextView) findViewById(R.id.change_password_text);
changePasswordTV.setTypeface(CoCoinUtil.GetTypeface());
sortTagsLayout = (MaterialRippleLayout) findViewById(R.id.sort_tags_layout);
sortTagsLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sortTags();
}
});
sortTagsTV = (TextView) findViewById(R.id.sort_tags_text);
sortTagsTV.setTypeface(CoCoinUtil.GetTypeface());
showPictureLayout = (MaterialRippleLayout) findViewById(R.id.whether_show_picture_layout);
showPictureIcon = (MaterialIconView) findViewById(R.id.whether_show_picture_icon);
showPictureSB = (Switch) findViewById(R.id.whether_show_picture_button);
showPictureSB.setOnCheckedChangeListener(this);
showPictureTV = (TextView) findViewById(R.id.whether_show_picture_text);
showPictureTV.setTypeface(CoCoinUtil.GetTypeface());
hollowLayout = (MaterialRippleLayout) findViewById(R.id.whether_show_circle_layout);
hollowIcon = (MaterialIconView) findViewById(R.id.whether_show_circle_icon);
hollowSB = (Switch) findViewById(R.id.whether_show_circle_button);
hollowSB.setOnCheckedChangeListener(this);
hollowTV = (TextView) findViewById(R.id.whether_show_circle_text);
hollowTV.setTypeface(CoCoinUtil.GetTypeface());
updateLayout = (MaterialRippleLayout) findViewById(R.id.update_layout);
updateLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CoCoinUtil.showToast(mContext, mContext.getResources().getString(R.string.checking_update), SuperToast.Background.BLUE);
AppUpdateManager appUpdateManager = new AppUpdateManager(mContext);
appUpdateManager.checkUpdateInfo(true);
}
});
currentVersionTV = (TextView) findViewById(R.id.update_text);
currentVersionTV.setTypeface(CoCoinUtil.GetTypeface());
currentVersionTV.setText(mContext.getResources().getString(R.string.current_version) + CoCoinUtil.GetCurrentVersion());
canBeUpdatedTV = (TextView) findViewById(R.id.update_tag);
canBeUpdatedTV.setTypeface(CoCoinUtil.GetTypeface());
if (SettingManager.getInstance().getCanBeUpdated()) {
canBeUpdatedTV.setVisibility(View.VISIBLE);
} else {
canBeUpdatedTV.setVisibility(View.GONE);
}
boolean loggenOn = SettingManager.getInstance().getLoggenOn();
if (loggenOn) {
// is logged on, set the user name and email
userName.setText(SettingManager.getInstance().getUserName());
userEmail.setText(SettingManager.getInstance().getUserEmail());
loginButton.setText(mContext.getResources().getText(R.string.logout_button));
loginButton.setBackgroundResource(R.drawable.button_logout);
} else {
userName.setText("");
userEmail.setText("");
loginButton.setText(getResourceString(R.string.login_button));
}
setIconEnable(userNameIcon, loggenOn);
setIconEnable(userEmailIcon, loggenOn);
loadLogo();
monthSB.setCheckedImmediately(SettingManager.getInstance().getIsMonthLimit());
setMonthState();
showPictureSB.setCheckedImmediately(SettingManager.getInstance().getShowPicture());
setShowPictureState(SettingManager.getInstance().getShowPicture());
hollowSB.setCheckedImmediately(SettingManager.getInstance().getIsHollow());
setHollowState(SettingManager.getInstance().getIsHollow());
}
Aggregations