use of com.nightonke.saver.model.User in project CoCoin by Nightonke.
the class AccountBookSettingActivity method userLogin.
private void userLogin() {
loginDialog = new MaterialDialog.Builder(this).title(R.string.go_login).typeface(CoCoinUtil.GetTypeface(), CoCoinUtil.GetTypeface()).customView(R.layout.dialog_user_login, true).build();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
loginDialogView = loginDialog.getCustomView();
loginDialogButton = (CircularProgressButton) loginDialogView.findViewById(R.id.button);
loginDialogButton.isIndeterminateProgressMode();
loginDialogButton.setProgress(0);
loginDialogButton.setTypeface(CoCoinUtil.GetTypeface());
loginDialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
loginDialog.setCancelable(false);
loginDialogButton.setProgress(1);
// the user ask to login////////////////////////////////////////////////////////////////////////////
final User user = new User();
user.setUsername(loginUserName.getText().toString());
user.setPassword(loginPassword.getText().toString());
user.login(CoCoinApplication.getAppContext(), new SaveListener() {
// try with user name///////////////////////////////////////////////////////////////////////////////
@Override
public void onSuccess() {
loginDialog.setCancelable(true);
loginDialogButton.setProgress(0);
loginDialogButton.setIdleText(getResourceString(R.string.login_complete));
// login successfully through user name/////////////////////////////////////////////////////////////
SettingManager.getInstance().setTodayViewInfoShouldChange(true);
User loginUser = BmobUser.getCurrentUser(CoCoinApplication.getAppContext(), User.class);
if (!CoCoinApplication.getAndroidId().equals(loginUser.getAndroidId())) {
// 2 users on one mobile////////////////////////////////////////////////////////////////////////////
showToast(7, "unique...");
return;
}
SettingManager.getInstance().setLoggenOn(true);
SettingManager.getInstance().setUserName(loginUserName.getText().toString());
SettingManager.getInstance().setUserEmail(loginUser.getEmail());
updateViews();
// use a new method
// RecordManager.updateOldRecordsToServer();
whetherSyncSettingsFromServer();
showToast(6, loginUserName.getText().toString());
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (loginDialog != null)
loginDialog.dismiss();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.HIDE_NOT_ALWAYS, 0);
}
}, 500);
}
// login fail through user name/////////////////////////////////////////////////////////////////////
@Override
public void onFailure(int code, String msg) {
// try with user email//////////////////////////////////////////////////////////////////////////////
user.setEmail(loginUserName.getText().toString());
user.login(CoCoinApplication.getAppContext(), new SaveListener() {
@Override
public void onSuccess() {
loginDialog.setCancelable(true);
loginDialogButton.setProgress(0);
loginDialogButton.setIdleText(getResourceString(R.string.login_complete));
// login successfully through user email////////////////////////////////////////////////////////////
SettingManager.getInstance().setTodayViewInfoShouldChange(true);
User loginUser = BmobUser.getCurrentUser(CoCoinApplication.getAppContext(), User.class);
if (!CoCoinApplication.getAndroidId().equals(loginUser.getAndroidId())) {
// 2 users on one mobile////////////////////////////////////////////////////////////////////////////
showToast(7, "unique...");
return;
}
String userName = loginUser.getUsername();
SettingManager.getInstance().setLoggenOn(true);
SettingManager.getInstance().setUserName(userName);
SettingManager.getInstance().setUserEmail(loginUserName.getText().toString());
SettingManager.getInstance().setUserPassword(loginPassword.getText().toString());
updateViews();
// use a new method
// RecordManager.updateOldRecordsToServer();
whetherSyncSettingsFromServer();
showToast(6, userName);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (loginDialog != null)
loginDialog.dismiss();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.HIDE_NOT_ALWAYS, 0);
}
}, 500);
}
// login fail through user name and email///////////////////////////////////////////////////////////
@Override
public void onFailure(int code, String msg) {
loginDialog.setCancelable(true);
loginDialogButton.setProgress(0);
String tip = getResourceString(R.string.network_disconnection);
if (msg.charAt(0) == 'u')
tip = getResourceString(R.string.user_name_or_password_incorrect);
if (msg.charAt(1) == 'n')
tip = getResourceString(R.string.user_mobile_exist);
loginDialogButton.setIdleText(tip);
}
});
}
});
}
});
final MDButton positiveAction = loginDialog.getActionButton(DialogAction.POSITIVE);
positiveAction.setEnabled(false);
TextView userNameTV = (TextView) loginDialog.getCustomView().findViewById(R.id.login_user_name_text);
TextView userPasswordTV = (TextView) loginDialog.getCustomView().findViewById(R.id.login_password_text);
userNameTV.setTypeface(CoCoinUtil.GetTypeface());
userPasswordTV.setTypeface(CoCoinUtil.GetTypeface());
loginUserName = (MaterialEditText) loginDialog.getCustomView().findViewById(R.id.login_user_name);
loginPassword = (MaterialEditText) loginDialog.getCustomView().findViewById(R.id.login_password);
loginUserName.setTypeface(CoCoinUtil.GetTypeface());
loginUserName.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
loginDialogButton.setEnabled(0 < loginUserName.getText().toString().length() && 0 < loginPassword.getText().toString().length());
}
@Override
public void afterTextChanged(Editable s) {
}
});
loginPassword.setTypeface(CoCoinUtil.GetTypeface());
loginPassword.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
loginDialogButton.setEnabled(0 < loginUserName.getText().toString().length() && 0 < loginPassword.getText().toString().length());
}
@Override
public void afterTextChanged(Editable s) {
}
});
loginDialog.show();
}
use of com.nightonke.saver.model.User in project CoCoin by Nightonke.
the class AccountBookSettingActivity method whetherSyncSettingsFromServer.
// whether sync the settings from server////////////////////////////////////////////////////////////
private void whetherSyncSettingsFromServer() {
new MaterialDialog.Builder(this).iconRes(R.drawable.cocoin_logo).typeface(CoCoinUtil.GetTypeface(), CoCoinUtil.GetTypeface()).limitIconToDefaultSize().title(R.string.sync_dialog_title).forceStacking(true).content(R.string.sync_dialog_content).positiveText(R.string.sync_dialog_sync_to_local).negativeText(R.string.sync_dialog_sync_to_server).cancelable(false).onAny(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which.equals(DialogAction.POSITIVE)) {
// sync to local
downloadLogoFromServer();
User user = getCurrentUser();
String tip = "";
boolean accountBookPasswordChanged = false;
if (!user.getAccountBookPassword().equals(SettingManager.getInstance().getPassword()))
accountBookPasswordChanged = true;
SettingManager.getInstance().setIsMonthLimit(user.getIsMonthLimit());
monthSB.setChecked(user.getIsMonthLimit());
SettingManager.getInstance().setMonthLimit(user.getMonthLimit());
if (SettingManager.getInstance().getIsMonthLimit())
monthMaxExpense.withNumber(SettingManager.getInstance().getMonthLimit()).setDuration(1000).start();
SettingManager.getInstance().setIsColorRemind(user.getIsColorRemind());
monthColorRemindSB.setChecked(user.getIsColorRemind());
SettingManager.getInstance().setMonthWarning(user.getMonthWarning());
if (SettingManager.getInstance().getIsMonthLimit() && SettingManager.getInstance().getIsColorRemind())
monthWarning.withNumber(SettingManager.getInstance().getMonthWarning()).setDuration(1000).start();
SettingManager.getInstance().setRemindColor(user.getRemindColor());
monthColorRemindTypeIcon.setColor(SettingManager.getInstance().getRemindColor());
SettingManager.getInstance().setIsForbidden(user.getIsForbidden());
monthForbiddenSB.setChecked(user.getIsForbidden());
SettingManager.getInstance().setAccountBookName(user.getAccountBookName());
accountBookName.setText(user.getAccountBookName());
SettingManager.getInstance().setPassword(user.getAccountBookPassword());
// Todo tag sort
SettingManager.getInstance().setShowPicture(user.getShowPicture());
showPictureSB.setChecked(user.getShowPicture());
SettingManager.getInstance().setIsHollow(user.getIsHollow());
hollowSB.setChecked(user.getIsHollow());
SettingManager.getInstance().setMainViewMonthExpenseShouldChange(true);
SettingManager.getInstance().setMainViewRemindColorShouldChange(true);
SettingManager.getInstance().setMainViewTitleShouldChange(true);
SettingManager.getInstance().setTodayViewMonthExpenseShouldChange(true);
SettingManager.getInstance().setTodayViewPieShouldChange(true);
SettingManager.getInstance().setTodayViewTitleShouldChange(true);
// SettingManager.getInstance().getMainActivityTagShouldChange();
if (accountBookPasswordChanged)
tip = "\n" + getString(R.string.your_current_account_book_password_is) + SettingManager.getInstance().getPassword();
new MaterialDialog.Builder(mContext).typeface(CoCoinUtil.GetTypeface(), CoCoinUtil.GetTypeface()).limitIconToDefaultSize().title(R.string.sync_to_local_successfully_dialog_title).content(getString(R.string.sync_to_local_successfully_dialog_content) + tip).positiveText(R.string.ok).show();
} else if (which.equals(DialogAction.NEGATIVE)) {
// sync to server
uploadLogoToServer();
User user = getCurrentUser();
user.setIsMonthLimit(SettingManager.getInstance().getIsMonthLimit());
user.setMonthLimit(SettingManager.getInstance().getMonthLimit());
user.setIsColorRemind(SettingManager.getInstance().getIsColorRemind());
user.setMonthWarning(SettingManager.getInstance().getMonthWarning());
user.setRemindColor(SettingManager.getInstance().getRemindColor());
user.setIsForbidden(SettingManager.getInstance().getIsForbidden());
user.setAccountBookName(SettingManager.getInstance().getAccountBookName());
user.setAccountBookPassword(SettingManager.getInstance().getPassword());
// Todo tag sort
user.setShowPicture(SettingManager.getInstance().getShowPicture());
user.setIsHollow(SettingManager.getInstance().getIsHollow());
user.update(CoCoinApplication.getAppContext(), user.getObjectId(), new UpdateListener() {
@Override
public void onSuccess() {
showToast(9, "");
}
@Override
public void onFailure(int code, String msg) {
showToast(10, msg);
}
});
}
dialog.dismiss();
}
}).show();
}
use of com.nightonke.saver.model.User 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.User in project CoCoin by Nightonke.
the class AccountBookMonthViewActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.activity_account_book_month_view);
userName = (TextView) findViewById(R.id.user_name);
userEmail = (TextView) findViewById(R.id.user_email);
userName.setTypeface(CoCoinUtil.typefaceLatoRegular);
userEmail.setTypeface(CoCoinUtil.typefaceLatoLight);
User user = BmobUser.getCurrentUser(CoCoinApplication.getAppContext(), User.class);
if (user != null) {
userName.setText(user.getUsername());
userEmail.setText(user.getEmail());
}
mViewPager = (MaterialViewPager) findViewById(R.id.materialViewPager);
View view = mViewPager.getRootView();
TextView title = (TextView) view.findViewById(R.id.logo_white);
title.setTypeface(CoCoinUtil.typefaceLatoLight);
title.setText(SettingManager.getInstance().getAccountBookName());
mViewPager.getPagerTitleStrip().setTypeface(CoCoinUtil.GetTypeface(), Typeface.NORMAL);
setTitle("");
toolbar = mViewPager.getToolbar();
mDrawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (toolbar != null) {
setSupportActionBar(toolbar);
final ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setHomeButtonEnabled(true);
}
}
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawer, 0, 0);
mDrawer.setDrawerListener(mDrawerToggle);
View logo = findViewById(R.id.logo_white);
if (logo != null) {
logo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mViewPager.notifyHeaderChanged();
}
});
}
monthModeAdapter = new MonthViewFragmentAdapter(getSupportFragmentManager());
mViewPager.getViewPager().setOffscreenPageLimit(monthModeAdapter.getCount());
mViewPager.getViewPager().setAdapter(monthModeAdapter);
mViewPager.getPagerTitleStrip().setViewPager(mViewPager.getViewPager());
if (monthModeAdapter.getCount() == 1) {
mViewPager.getPagerTitleStrip().setVisibility(View.INVISIBLE);
}
mViewPager.setMaterialViewPagerListener(new MaterialViewPager.Listener() {
@Override
public HeaderDesign getHeaderDesign(int page) {
return HeaderDesign.fromColorAndDrawable(CoCoinUtil.GetTagColor(RecordManager.TAGS.get(page).getId()), CoCoinUtil.GetTagDrawable(-3));
}
});
recyclerView = (RecyclerView) mDrawer.findViewById(R.id.recycler_view);
drawerMonthViewRecyclerViewAdapter = new DrawerMonthViewRecyclerViewAdapter(mContext);
recyclerView.setAdapter(drawerMonthViewRecyclerViewAdapter);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(mContext));
recyclerView.setItemAnimator(new DefaultItemAnimator());
drawerMonthViewRecyclerViewAdapter.SetOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
mViewPager.getViewPager().setCurrentItem(position);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
mDrawer.closeDrawers();
}
}, 700);
}
});
profileImage = (CircleImageView) mDrawer.findViewById(R.id.profile_image);
profileImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (SettingManager.getInstance().getLoggenOn()) {
CoCoinUtil.showToast(mContext, R.string.change_logo_tip);
} else {
CoCoinUtil.showToast(mContext, R.string.login_tip);
}
}
});
mDemoSlider = (SliderLayout) findViewById(R.id.slider);
HashMap<String, Integer> urls = CoCoinUtil.GetDrawerTopUrl();
for (String name : urls.keySet()) {
CustomSliderView customSliderView = new CustomSliderView(this);
// initialize a SliderLayout
customSliderView.image(urls.get(name)).setScaleType(BaseSliderView.ScaleType.Fit);
mDemoSlider.addSlider(customSliderView);
}
mDemoSlider.setPresetTransformer(SliderLayout.Transformer.ZoomOut);
mDemoSlider.setCustomAnimation(new DescriptionAnimation());
mDemoSlider.setDuration(4000);
mDemoSlider.setCustomIndicator((PagerIndicator) findViewById(R.id.custom_indicator));
loadLogo();
}
use of com.nightonke.saver.model.User in project CoCoin by Nightonke.
the class AccountBookListViewActivity method loadLogo.
private void loadLogo() {
User user = BmobUser.getCurrentUser(CoCoinApplication.getAppContext(), User.class);
if (user != null) {
try {
File logoFile = new File(CoCoinApplication.getAppContext().getFilesDir() + CoCoinUtil.LOGO_NAME);
if (!logoFile.exists()) {
// the local logo file is missed
// try to get from the server
BmobQuery<Logo> bmobQuery = new BmobQuery();
bmobQuery.addWhereEqualTo("objectId", user.getLogoObjectId());
bmobQuery.findObjects(CoCoinApplication.getAppContext(), new FindListener<Logo>() {
@Override
public void onSuccess(List<Logo> object) {
// there has been an old logo in the server/////////////////////////////////////////////////////////
String url = object.get(0).getFile().getFileUrl(CoCoinApplication.getAppContext());
if (BuildConfig.DEBUG)
Log.d("CoCoin", "Logo in server: " + url);
Ion.with(CoCoinApplication.getAppContext()).load(url).write(new File(CoCoinApplication.getAppContext().getFilesDir() + CoCoinUtil.LOGO_NAME)).setCallback(new FutureCallback<File>() {
@Override
public void onCompleted(Exception e, File file) {
profileImage.setImageBitmap(BitmapFactory.decodeFile(CoCoinApplication.getAppContext().getFilesDir() + CoCoinUtil.LOGO_NAME));
}
});
}
@Override
public void onError(int code, String msg) {
// the picture is lost
if (BuildConfig.DEBUG)
Log.d("CoCoin", "Can't find the old logo in server.");
}
});
} else {
// the user logo is in the storage
Bitmap b = BitmapFactory.decodeStream(new FileInputStream(logoFile));
profileImage.setImageBitmap(b);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} else {
// use the default logo
profileImage.setImageResource(R.drawable.default_user_logo);
}
}
Aggregations