Search in sources :

Example 1 with Version

use of com.mxt.anitrend.model.entity.base.Version in project anitrend-app by AniTrend.

the class MainActivity method updateUI.

@Override
protected void updateUI() {
    Version version = getPresenter().getDatabase().getRemoteVersion();
    View HeaderContainer = mNavigationView.getHeaderView(0);
    mHeaderView = HeaderContainer.findViewById(R.id.drawer_banner);
    mUserAvatar = HeaderContainer.findViewById(R.id.drawer_avatar_indicator);
    mUserName = HeaderContainer.findViewById(R.id.drawer_app_name);
    mHomeFeed = menuItems.findItem(R.id.nav_home_feed);
    mAccountLogin = menuItems.findItem(R.id.nav_sign_in);
    mSignOutProfile = menuItems.findItem(R.id.nav_sign_out);
    mManageMenu = menuItems.findItem(R.id.nav_header_manage);
    HeaderContainer.findViewById(R.id.banner_clickable).setOnClickListener(this);
    if (getPresenter().getApplicationPref().isAuthenticated())
        setupUserItems();
    else
        mHeaderView.setImageResource(R.drawable.reg_bg);
    if (version != null && version.isNewerVersion()) {
        // If a new version of the application is available on GitHub
        TextView mAppUpdateWidget = menuItems.findItem(R.id.nav_check_update).getActionView().findViewById(R.id.app_update_info);
        mAppUpdateWidget.setText(getString(R.string.app_update, version.getVersion()));
        mAppUpdateWidget.setVisibility(View.VISIBLE);
    }
    checkNewInstallation();
}
Also used : Version(com.mxt.anitrend.model.entity.base.Version) TextView(android.widget.TextView) NavigationView(android.support.design.widget.NavigationView) BindView(butterknife.BindView) View(android.view.View) TextView(android.widget.TextView) HeaderImageView(com.mxt.anitrend.base.custom.view.image.HeaderImageView) AvatarIndicatorView(com.mxt.anitrend.base.custom.view.image.AvatarIndicatorView)

Example 2 with Version

use of com.mxt.anitrend.model.entity.base.Version in project anitrend-app by AniTrend.

the class MainActivity method onNavigate.

private void onNavigate(@IdRes int menu) {
    Intent intent;
    switch(menu) {
        case R.id.nav_home_feed:
            mToolbar.setTitle(getString(R.string.drawer_title_home));
            selectedItem = menu;
            mViewPager.setAdapter(new FeedPageAdapter(getSupportFragmentManager(), getApplicationContext()));
            mNavigationTabStrip.setViewPager(mViewPager);
            break;
        case R.id.nav_anime:
            mToolbar.setTitle(getString(R.string.drawer_title_anime));
            selectedItem = menu;
            mViewPager.setAdapter(new SeasonPageAdapter(getSupportFragmentManager(), getApplicationContext()));
            mNavigationTabStrip.setViewPager(mViewPager);
            mViewPager.setCurrentItem(mPageIndex, false);
            break;
        case R.id.nav_manga:
            mToolbar.setTitle(getString(R.string.drawer_title_manga));
            selectedItem = menu;
            mViewPager.setAdapter(new MangaPageAdapter(getSupportFragmentManager(), getApplicationContext()));
            mNavigationTabStrip.setViewPager(mViewPager);
            break;
        case R.id.nav_trending:
            mToolbar.setTitle(getString(R.string.drawer_title_trending));
            selectedItem = menu;
            mViewPager.setAdapter(new TrendingPageAdapter(getSupportFragmentManager(), getApplicationContext()));
            mNavigationTabStrip.setViewPager(mViewPager);
            break;
        case R.id.nav_airing:
            mToolbar.setTitle(getString(R.string.drawer_title_airing));
            mViewPager.setAdapter(new AiringPageAdapter(getSupportFragmentManager(), getApplicationContext()));
            mNavigationTabStrip.setViewPager(mViewPager);
            selectedItem = menu;
            break;
        case R.id.nav_myanime:
            intent = new Intent(this, MediaListActivity.class);
            intent.putExtra(KeyUtil.arg_mediaType, KeyUtil.ANIME);
            intent.putExtra(KeyUtil.arg_userName, getPresenter().getDatabase().getCurrentUser().getName());
            intent.putExtra(KeyUtil.arg_id, getPresenter().getDatabase().getCurrentUser().getId());
            startActivity(intent);
            break;
        case R.id.nav_mymanga:
            intent = new Intent(this, MediaListActivity.class);
            intent.putExtra(KeyUtil.arg_mediaType, KeyUtil.MANGA);
            intent.putExtra(KeyUtil.arg_userName, getPresenter().getDatabase().getCurrentUser().getName());
            intent.putExtra(KeyUtil.arg_id, getPresenter().getDatabase().getCurrentUser().getId());
            startActivity(intent);
            break;
        case R.id.nav_hub:
            mToolbar.setTitle(getString(R.string.drawer_title_hub));
            mViewPager.setAdapter(new HubPageAdapter(getSupportFragmentManager(), getApplicationContext()));
            mNavigationTabStrip.setViewPager(mViewPager);
            selectedItem = menu;
            break;
        case R.id.nav_reviews:
            mToolbar.setTitle(getString(R.string.drawer_title_reviews));
            selectedItem = menu;
            mViewPager.setAdapter(new ReviewPageAdapter(getSupportFragmentManager(), getApplicationContext()));
            mNavigationTabStrip.setViewPager(mViewPager);
            break;
        case R.id.nav_sign_in:
            startActivity(new Intent(MainActivity.this, LoginActivity.class));
            break;
        case R.id.nav_sign_out:
            mBottomSheet = new BottomSheetMessage.Builder().setText(R.string.drawer_signout_text).setTitle(R.string.drawer_signout_title).setPositiveText(R.string.Yes).setNegativeText(R.string.No).buildWithCallback(new BottomSheetChoice() {

                @Override
                public void onPositiveButton() {
                    WebTokenRequest.invalidateInstance(getApplicationContext());
                    Intent intent = new Intent(MainActivity.this, SplashActivity.class);
                    finish();
                    startActivity(intent);
                }

                @Override
                public void onNegativeButton() {
                }
            });
            showBottomSheet();
            break;
        case R.id.nav_check_update:
            switch(ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
                case PERMISSION_GRANTED:
                    mBottomSheet = new BottomSheetMessage.Builder().setText(R.string.drawer_update_text).setTitle(R.string.drawer_update_title).setPositiveText(R.string.Yes).setNegativeText(R.string.No).buildWithCallback(new BottomSheetChoice() {

                        @Override
                        public void onPositiveButton() {
                            Version version = getPresenter().getDatabase().getRemoteVersion();
                            if (version != null && version.isNewerVersion())
                                DownloaderService.downloadNewVersion(MainActivity.this, version);
                            else
                                NotifyUtil.createAlerter(MainActivity.this, getString(R.string.title_update_infodadat), getString(R.string.app_no_date), R.drawable.ic_cloud_done_white_24dp, R.color.colorStateGreen);
                        }

                        @Override
                        public void onNegativeButton() {
                        }
                    });
                    showBottomSheet();
                    break;
                case PERMISSION_DENIED:
                    if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE))
                        DialogUtil.createMessage(MainActivity.this, R.string.title_permission_write, R.string.text_permission_write, (dialog, which) -> {
                            switch(which) {
                                case POSITIVE:
                                    ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, REQUEST_PERMISSION);
                                    break;
                                case NEGATIVE:
                                    NotifyUtil.makeText(MainActivity.this, R.string.canceled_by_user, Toast.LENGTH_SHORT).show();
                                    break;
                            }
                        });
                    else
                        hasPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
                    break;
            }
            break;
        case R.id.nav_light_theme:
            getPresenter().getApplicationPref().toggleTheme();
            recreate();
            break;
        default:
            break;
    }
}
Also used : NavigationView(android.support.design.widget.NavigationView) ProfileActivity(com.mxt.anitrend.view.activity.detail.ProfileActivity) Bundle(android.os.Bundle) FeedPageAdapter(com.mxt.anitrend.adapter.pager.index.FeedPageAdapter) Uri(android.net.Uri) SeasonPageAdapter(com.mxt.anitrend.adapter.pager.index.SeasonPageAdapter) BasePresenter(com.mxt.anitrend.presenter.base.BasePresenter) BindView(butterknife.BindView) Manifest(android.Manifest) BottomSheetChoice(com.mxt.anitrend.base.interfaces.event.BottomSheetChoice) User(com.mxt.anitrend.model.entity.anilist.User) NotifyUtil(com.mxt.anitrend.util.NotifyUtil) R(com.mxt.anitrend.R) View(android.view.View) BaseConsumer(com.mxt.anitrend.base.custom.consumer.BaseConsumer) CompatUtil(com.mxt.anitrend.util.CompatUtil) PERMISSION_GRANTED(android.content.pm.PackageManager.PERMISSION_GRANTED) ContextCompat(android.support.v4.content.ContextCompat) NotificationActivity(com.mxt.anitrend.view.activity.detail.NotificationActivity) ThreadMode(org.greenrobot.eventbus.ThreadMode) ActivityCompat(android.support.v4.app.ActivityCompat) Version(com.mxt.anitrend.model.entity.base.Version) DialogUtil(com.mxt.anitrend.util.DialogUtil) TextView(android.widget.TextView) Nullable(android.support.annotation.Nullable) KeyUtil(com.mxt.anitrend.util.KeyUtil) CoordinatorLayout(android.support.design.widget.CoordinatorLayout) DateUtil(com.mxt.anitrend.util.DateUtil) ButterKnife(butterknife.ButterKnife) ViewPager(android.support.v4.view.ViewPager) Intent(android.content.Intent) StringRes(android.support.annotation.StringRes) NonNull(android.support.annotation.NonNull) MenuItem(android.view.MenuItem) GravityCompat(android.support.v4.view.GravityCompat) HeaderImageView(com.mxt.anitrend.base.custom.view.image.HeaderImageView) HubPageAdapter(com.mxt.anitrend.adapter.pager.index.HubPageAdapter) Toast(android.widget.Toast) EventBus(org.greenrobot.eventbus.EventBus) Menu(android.view.Menu) ReviewPageAdapter(com.mxt.anitrend.adapter.pager.index.ReviewPageAdapter) AboutActivity(com.mxt.anitrend.view.activity.base.AboutActivity) DrawerLayout(android.support.v4.widget.DrawerLayout) WebTokenRequest(com.mxt.anitrend.base.custom.async.WebTokenRequest) MediaListActivity(com.mxt.anitrend.view.activity.detail.MediaListActivity) PERMISSION_DENIED(android.content.pm.PackageManager.PERMISSION_DENIED) SettingsActivity(com.mxt.anitrend.view.activity.base.SettingsActivity) ActivityBase(com.mxt.anitrend.base.custom.activity.ActivityBase) DownloaderService(com.mxt.anitrend.service.DownloaderService) IdRes(android.support.annotation.IdRes) MangaPageAdapter(com.mxt.anitrend.adapter.pager.index.MangaPageAdapter) TrendingPageAdapter(com.mxt.anitrend.adapter.pager.index.TrendingPageAdapter) Subscribe(org.greenrobot.eventbus.Subscribe) AvatarIndicatorView(com.mxt.anitrend.base.custom.view.image.AvatarIndicatorView) Toolbar(android.support.v7.widget.Toolbar) UserBase(com.mxt.anitrend.model.entity.base.UserBase) Crashlytics(com.crashlytics.android.Crashlytics) AiringPageAdapter(com.mxt.anitrend.adapter.pager.index.AiringPageAdapter) SmartTabLayout(com.ogaclejapan.smarttablayout.SmartTabLayout) ActionBarDrawerToggle(android.support.v7.app.ActionBarDrawerToggle) BottomSheetMessage(com.mxt.anitrend.view.sheet.BottomSheetMessage) FeedPageAdapter(com.mxt.anitrend.adapter.pager.index.FeedPageAdapter) SeasonPageAdapter(com.mxt.anitrend.adapter.pager.index.SeasonPageAdapter) BottomSheetChoice(com.mxt.anitrend.base.interfaces.event.BottomSheetChoice) Intent(android.content.Intent) MangaPageAdapter(com.mxt.anitrend.adapter.pager.index.MangaPageAdapter) ReviewPageAdapter(com.mxt.anitrend.adapter.pager.index.ReviewPageAdapter) TrendingPageAdapter(com.mxt.anitrend.adapter.pager.index.TrendingPageAdapter) AiringPageAdapter(com.mxt.anitrend.adapter.pager.index.AiringPageAdapter) Version(com.mxt.anitrend.model.entity.base.Version) MediaListActivity(com.mxt.anitrend.view.activity.detail.MediaListActivity) HubPageAdapter(com.mxt.anitrend.adapter.pager.index.HubPageAdapter)

Aggregations

NavigationView (android.support.design.widget.NavigationView)2 View (android.view.View)2 TextView (android.widget.TextView)2 BindView (butterknife.BindView)2 AvatarIndicatorView (com.mxt.anitrend.base.custom.view.image.AvatarIndicatorView)2 HeaderImageView (com.mxt.anitrend.base.custom.view.image.HeaderImageView)2 Manifest (android.Manifest)1 Intent (android.content.Intent)1 PERMISSION_DENIED (android.content.pm.PackageManager.PERMISSION_DENIED)1 PERMISSION_GRANTED (android.content.pm.PackageManager.PERMISSION_GRANTED)1 Uri (android.net.Uri)1 Bundle (android.os.Bundle)1 IdRes (android.support.annotation.IdRes)1 NonNull (android.support.annotation.NonNull)1 Nullable (android.support.annotation.Nullable)1 StringRes (android.support.annotation.StringRes)1 CoordinatorLayout (android.support.design.widget.CoordinatorLayout)1 ActivityCompat (android.support.v4.app.ActivityCompat)1 ContextCompat (android.support.v4.content.ContextCompat)1 GravityCompat (android.support.v4.view.GravityCompat)1