use of org.aisen.weibo.sina.support.action.WebLoginAction in project AisenWeiBo by wangdan.
the class MainActivity method onMenuClicked.
/**
* 选择了侧边栏,切换侧边栏菜单
*
* @param item
* @return
*/
@Override
public void onMenuClicked(MenuFragment.NavMenuItem item, boolean closeDrawer) {
invalidateOptionsMenu();
ABaseFragment fragment = null;
// 切换ContentFragment,或者跳转到新的界面
switch(item.id) {
// 首页
case MenuFragment.MENU_MAIN:
fabGroupsFragment.triggerLastPosition();
break;
// 通知
case MenuFragment.MENU_NOTIFICATION:
fragment = NotificationPagerFragment.newInstance(newIntentNotificationIndex);
newIntentNotificationIndex = -1;
break;
// 提及
case MenuFragment.MENU_MENTION:
fragment = MentionPagerFragment.newInstance();
break;
// 评论
case MenuFragment.MENU_CMT:
fragment = CommentPagerFragment.newInstance();
break;
// 私信
case MenuFragment.MENU_MD:
new IAction(MainActivity.this, new WebLoginAction(MainActivity.this, BizFragment.createBizFragment(this))) {
@Override
public void doAction() {
WeiboClientActivity.launchDM(MainActivity.this);
}
}.run();
UMengUtil.onEvent(MainActivity.this, "md");
break;
// 热门微博
case MenuFragment.MENU_HOT_STATUS:
new IAction(MainActivity.this, new WebLoginAction(MainActivity.this, BizFragment.createBizFragment(this))) {
@Override
public void doAction() {
TimelineHotFragment.launch(MainActivity.this);
}
}.run();
UMengUtil.onEvent(MainActivity.this, "hot_status");
break;
// 热门话题
case MenuFragment.MENU_HOT_TOPICS:
new IAction(MainActivity.this, new WebLoginAction(MainActivity.this, BizFragment.createBizFragment(this))) {
@Override
public void doAction() {
TopicsHotPagerFragment.launch(MainActivity.this);
}
}.run();
UMengUtil.onEvent(MainActivity.this, "hot_topics");
break;
// 草稿箱
case MenuFragment.MENU_DRAT:
fragment = DraftFragment.newInstance();
break;
// 相册
case MenuFragment.MENU_IMAGES:
new IAction(this, new SdcardPermissionAction(this, null)) {
@Override
public void doAction() {
ImagesPagerFragment.launch(MainActivity.this);
}
}.run();
break;
// 设置
case MenuFragment.MENU_SETTINGS:
SettingsPagerFragment.launch(this);
break;
// 轻松一刻
case MenuFragment.MENU_JOKE:
fragment = JokesPagerFragment.newInstance();
UMengUtil.onEvent(this, "menu_joke");
break;
case MenuFragment.MENU_FAV:
BizFragment.createBizFragment(this).checkProfile(new BizFragment.CheckProfileCallback() {
@Override
public void onCheckProfileSuccess() {
TimelineFavoritesFragment.launch(MainActivity.this);
}
@Override
public void onCheckProfileFaild() {
}
});
break;
// 精美壁纸
case MenuFragment.MENU_WALLPAPER:
fragment = WallpaperFragment.newInstance();
UMengUtil.onEvent(this, "menu_wallpaper");
break;
}
if (fragment != null) {
setFragemnt(fragment, getString(item.toolbarRes));
}
// 隐藏Fab按钮
if (item.id == 1) {
fabBtn.setVisibility(View.VISIBLE);
// 显示Fab
BizFragment.createBizFragment(this).getFabAnimator().show();
} else {
fabBtn.setVisibility(View.GONE);
}
// 关闭侧边栏
if (closeDrawer) {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
closeDrawer();
}
}, 300);
}
}
use of org.aisen.weibo.sina.support.action.WebLoginAction in project AisenWeiBo by wangdan.
the class MainActivity method onOptionsItemSelected.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (drawerToggle != null && drawerToggle.onOptionsItemSelected(item))
return true;
if (android.R.id.home == item.getItemId()) {
if (mDrawerLayout.isDrawerVisible(GravityCompat.START))
mDrawerLayout.closeDrawers();
else
mDrawerLayout.openDrawer(GravityCompat.START);
return true;
}
// 退出
if (item.getItemId() == R.id.exitapp) {
finish();
UMengUtil.onEvent(this, "exitapp");
} else // 新微博
if (item.getItemId() == R.id.publish)
PublishActivity.publishStatus(this, null);
else // 开始离线
if (item.getItemId() == R.id.toggle_offline) {
OfflineUtils.toggleOffline(this);
UMengUtil.onEvent(this, "toggle_offline");
} else // 停止离线
if (item.getItemId() == R.id.stop_offline) {
OfflineService.stopOffline();
UMengUtil.onEvent(this, "stop_offline");
} else // 通知设置
if (item.getItemId() == R.id.notification_settings)
NotificationSettingsFragment.launch(this);
else // 搜索
if (item.getItemId() == R.id.search) {
new IAction(MainActivity.this, new WebLoginAction(MainActivity.this, BizFragment.createBizFragment(this))) {
@Override
public void doAction() {
SearchFragment.launch(MainActivity.this, "");
UMengUtil.onEvent(MainActivity.this, "toggle_search");
}
}.run();
}
return super.onOptionsItemSelected(item);
}
use of org.aisen.weibo.sina.support.action.WebLoginAction in project AisenWeiBo by wangdan.
the class TimelinePicActivity method parseShortUrl.
private void parseShortUrl(final String url) {
while (BizFragment.createBizFragment(this).getActivity() == null) {
}
// 检测Cookie
new IAction(this, new WebLoginAction(this, BizFragment.createBizFragment(this))) {
@Override
public void doAction() {
new WorkTask<Void, Integer, String>() {
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
if (values != null && values[0] == 100) {
ViewUtils.createProgressDialog(TimelinePicActivity.this, "正在解析图片", ThemeUtils.getThemeColor()).show();
}
}
@Override
public String workInBackground(Void... params) throws TaskException {
String id = KeyGenerator.generateMD5(url);
VideoBean videoBean = SinaDB.getDB().selectById(null, VideoBean.class, id);
if (videoBean == null) {
videoBean = new VideoBean();
videoBean.setIdStr(id);
videoBean.setShortUrl(url);
}
// 根据短链接解析
if (TextUtils.isEmpty(videoBean.getImage())) {
try {
publishProgress(100);
VideoService.getPicture(videoBean);
} catch (Exception e) {
throw new TaskException("");
}
}
if (TextUtils.isEmpty(videoBean.getImage())) {
throw new TaskException("");
}
SinaDB.getDB().update(null, videoBean);
return videoBean.getImage();
}
@Override
protected void onFailure(TaskException exception) {
super.onFailure(exception);
if (isDestory())
return;
new MaterialDialog.Builder(TimelinePicActivity.this).forceStacking(true).content(R.string.video_short_faild).positiveText(R.string.video2browser).negativeText(R.string.video_again).onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(MaterialDialog dialog, DialogAction which) {
toBrowser(url);
}
}).onNegative(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(MaterialDialog dialog, DialogAction which) {
loadPicture(url);
}
}).show();
}
@Override
protected void onSuccess(String s) {
super.onSuccess(s);
if (isDestory())
return;
loadPicture(s);
}
@Override
protected void onFinished() {
super.onFinished();
ViewUtils.dismissProgressDialog();
}
}.execute();
}
}.run();
}
Aggregations