@Override protected void fitSystemWindows(Rect insets) { if (mRecyclerView != null) { mRecyclerView.setClipToPadding(false); mRecyclerView.setPadding(insets.left, insets.top, insets.right, insets.bottom); } }
/** * build the MiniDrawer * * @param ctx * @return */ public View build(Context ctx) { mContainer = new LinearLayout(ctx); if (mInnerShadow) { if (!mInRTL) { mContainer.setBackgroundResource(R.drawable.material_drawer_shadow_left); } else { mContainer.setBackgroundResource(R.drawable.material_drawer_shadow_right); } } // create and append recyclerView mRecyclerView = new RecyclerView(ctx); mContainer.addView( mRecyclerView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); // set the itemAnimator mRecyclerView.setItemAnimator(new DefaultItemAnimator()); // some style improvements on older devices mRecyclerView.setFadingEdgeLength(0); // set the drawing cache background to the same color as the slider to improve performance // mRecyclerView.setDrawingCacheBackgroundColor(UIUtils.getThemeColorFromAttrOrRes(mActivity, // R.attr.material_drawer_background, R.color.material_drawer_background)); mRecyclerView.setClipToPadding(false); // additional stuff mRecyclerView.setLayoutManager(new LinearLayoutManager(ctx)); // adapter mDrawerAdapter = new DrawerAdapter(); mRecyclerView.setAdapter(mDrawerAdapter); // if the activity with the drawer should be fullscreen add the padding for the statusbar if (mDrawer != null && mDrawer.mDrawerBuilder != null && (mDrawer.mDrawerBuilder.mFullscreen || mDrawer.mDrawerBuilder.mTranslucentStatusBar)) { mRecyclerView.setPadding( mRecyclerView.getPaddingLeft(), UIUtils.getStatusBarHeight(ctx), mRecyclerView.getPaddingRight(), mRecyclerView.getPaddingBottom()); } // if the activity with the drawer should be fullscreen add the padding for the navigationBar if (mDrawer != null && mDrawer.mDrawerBuilder != null && (mDrawer.mDrawerBuilder.mFullscreen || mDrawer.mDrawerBuilder.mTranslucentNavigationBar)) { mRecyclerView.setPadding( mRecyclerView.getPaddingLeft(), mRecyclerView.getPaddingTop(), mRecyclerView.getPaddingRight(), UIUtils.getNavigationBarHeight(ctx)); } // set the adapter with the items createItems(); return mContainer; }
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mRecyclerView = (RecyclerView) inflater.inflate(R.layout.fragment_drawer, container, false); mRecyclerView.setClipToPadding(false); mAdapter = new NavigationDrawerAdapter( getActivity(), new NavigationDrawerAdapter.ClickListener() { @Override public void onClick(int index) { selectItem(index); } @Override public boolean onLongClick(final int index) { Pins.Item item = mAdapter.getItem(index); Utils.showConfirmDialog( getActivity(), R.string.remove_shortcut, R.string.confirm_remove_shortcut, item.getDisplay(getActivity()), new Utils.ClickListener() { @Override public void onPositive(int which, View view) { Pins.remove(getActivity(), index); mAdapter.reload(getActivity()); } }); return false; } }); mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); mRecyclerView.setAdapter(mAdapter); mAdapter.setCheckedPos(mCurrentSelectedPosition); return mRecyclerView; }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_profile); userProfileContainer = (ViewGroup) findViewById(R.id.profile_activity_user_container); getStartedContainer = (ViewGroup) findViewById(R.id.get_started_container); profileImageView = (ImageView) findViewById(R.id.profile_image_view); getStartedButton = (Button) findViewById(R.id.get_started); signInButton = (Button) findViewById(R.id.profile_activity_toolbar_signin); userPhotosRecyclerView = (RecyclerView) findViewById(R.id.user_photos_rec_view); swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container); user = UserContraller.readUserFromFile(this); gridLayoutManager = new GridLayoutManager(this, 2, GridLayoutManager.VERTICAL, false); profileUserPhotosAdapter = new ProfileUserPhotosAdapter(this); userPhotosRecyclerView.setHasFixedSize(true); userPhotosRecyclerView.setClipToPadding(true); userPhotosRecyclerView.setLayoutManager(gridLayoutManager); userPhotosRecyclerView.setItemAnimator(new DefaultItemAnimator()); userPhotosRecyclerView.setAdapter(profileUserPhotosAdapter); userPhotosRecyclerView.addItemDecoration( new SpacesItemDecoration((int) Utils.dpToPixel(2, this))); if (user != null) { isSignedIn = true; updateUserInfo(); visibilitySwitcher(isSignedIn); if (Utils.haveNetworkConnection(this)) { final UserContraller userContraller = new UserContraller(this); userContraller.setOnRequestReadyListener( new UserContraller.UserRequest() { @Override public void onRequestReady(int requestNumber, String messege) { if (requestNumber == RequestConstants.REQUEST_USER_SUCCESS_CODE) { user = userContraller.getUser(); updateUserInfo(); userContraller.requestUserPhotos(user.getKey(), photosOffset, photosLimit); } else if (requestNumber == RequestConstants.REQUEST_USER_PHOTO_SUCCESS_CODE) { userPhotos = userContraller.getUserPhotos(); profileUserPhotosAdapter.addItems(userPhotos); } else { AlertDialog alert = UserContraller.setupDialogBuilder(context, messege).create(); alert.show(); } } }); userContraller.requestUser(user.getKey()); } else { Toast.makeText(context, getString(R.string.no_internet_connection), Toast.LENGTH_SHORT) .show(); } } else { isSignedIn = false; visibilitySwitcher(isSignedIn); } userPhotosRecyclerView.addOnItemTouchListener( new RecyclerItemClickListener( getApplicationContext(), new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { Intent intent = new Intent(context, EditLocalPhotoActivity.class); intent.putExtra( GifsArtConst.INTENT_IMAGE_URL, profileUserPhotosAdapter.getItem(position).getUrl()); intent.putExtra( GifsArtConst.INTENT_IS_PUBLIC, profileUserPhotosAdapter.getItem(position).getIsPublic()); intent.putExtra( GifsArtConst.INTENT_PHOTO_ID, profileUserPhotosAdapter.getItem(position).getId()); startActivityForResult(intent, REQUEST_OPEN_PHOTO_EDIT); } })); signInButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (isSignedIn) { isSignedIn = false; UserContraller.writeUserToFile(context, null); profileUserPhotosAdapter.removeAllItems(); visibilitySwitcher(isSignedIn); Toast.makeText(context, getString(R.string.sign_out_button), Toast.LENGTH_SHORT) .show(); } else { Intent intent = new Intent(context, SignInActivity.class); startActivityForResult(intent, REQUEST_SIGNIN_ACTIVITY); overridePendingTransition(R.transition.pull_in_right, R.transition.push_out_left); } } }); getStartedButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(context, SignUpActivity.class); startActivityForResult(intent, REQUEST_SIGNUP_ACTIVITY); overridePendingTransition(R.transition.pull_in_right, R.transition.push_out_left); } }); profileImageView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (Utils.haveNetworkConnection(context)) { pickImageFromGallery(); } else { Toast.makeText( context, getString(R.string.no_internet_connection), Toast.LENGTH_SHORT) .show(); } } }); findViewById(R.id.picsart_deeplink) .setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { deepLinkToPicsart(); } }); findViewById(R.id.profile_activity_toolbar_create) .setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { finish(); overridePendingTransition(R.transition.pull_in_right, R.transition.push_out_left); } }); swipeRefreshLayout.setColorSchemeColors(getResources().getColor(R.color.pink)); swipeRefreshLayout.setOnRefreshListener( new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { final UserContraller userContraller = new UserContraller(context); userContraller.setOnRequestReadyListener( new UserContraller.UserRequest() { @Override public void onRequestReady(int requestNumber, String messege) { if (requestNumber == RequestConstants.REQUEST_USER_PHOTO_SUCCESS_CODE) { profileUserPhotosAdapter.addItems(userContraller.getUserPhotos()); } else { AlertDialog alert = UserContraller.setupDialogBuilder(context, messege).create(); alert.show(); } } }); userContraller.requestUserPhotos(user.getKey(), photosOffset, photosLimit); profileUserPhotosAdapter.notifyDataSetChanged(); ((SwipeRefreshLayout) findViewById(R.id.swipe_container)).setRefreshing(false); } }); }