added user ImageView stand alone
This commit is contained in:
parent
9c363a6b28
commit
762fb4dbbe
24 changed files with 215 additions and 261 deletions
|
@ -40,8 +40,8 @@ class ContributorAdapter(private var contributors: List<Contributor>) : Recycler
|
||||||
text.text = contributor.summary
|
text.text = contributor.summary
|
||||||
GlideApp.with(image.context)
|
GlideApp.with(image.context)
|
||||||
.load(contributor.profileImage)
|
.load(contributor.profileImage)
|
||||||
.error(R.drawable.ic_person_flat)
|
.error(R.drawable.ic_account_white_24dp)
|
||||||
.placeholder(R.drawable.ic_person_flat)
|
.placeholder(R.drawable.ic_account_white_24dp)
|
||||||
.into(image)
|
.into(image)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,7 +145,7 @@ class OptionsSheetDialogFragment : RoundedBottomSheetDialogFragment(), View.OnCl
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe({ userImage!!.setImageBitmap(it) }, {
|
.subscribe({ userImage!!.setImageBitmap(it) }, {
|
||||||
userImage!!.setImageDrawable(ContextCompat
|
userImage!!.setImageDrawable(ContextCompat
|
||||||
.getDrawable(context!!, R.drawable.ic_person_flat))
|
.getDrawable(context!!, R.drawable.ic_account_white_24dp))
|
||||||
}, {
|
}, {
|
||||||
|
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -22,7 +22,7 @@ enum class NowPlayingScreen constructor(@param:StringRes @field:StringRes
|
||||||
PLAIN(R.string.plain, R.drawable.np_plain, 3),
|
PLAIN(R.string.plain, R.drawable.np_plain, 3),
|
||||||
TINY(R.string.tiny, R.drawable.np_tiny, 7),
|
TINY(R.string.tiny, R.drawable.np_tiny, 7),
|
||||||
SIMPLE(R.string.simple, R.drawable.np_simple, 8),
|
SIMPLE(R.string.simple, R.drawable.np_simple, 8),
|
||||||
CLASSIC(R.string.classic, R.drawable.np_normal, 13);
|
CLASSIC(R.string.classic, R.drawable.np_classic, 13);
|
||||||
//SLIDE(R.string.slide, R.drawable.np_slide, 13)
|
//SLIDE(R.string.slide, R.drawable.np_slide, 13)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package code.name.monkey.retromusic.fragments.mainactivity;
|
package code.name.monkey.retromusic.fragments.mainactivity;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.graphics.drawable.BitmapDrawable;
|
|
||||||
import android.graphics.drawable.Drawable;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
|
@ -23,16 +21,10 @@ import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.fragment.app.FragmentTransaction;
|
import androidx.fragment.app.FragmentTransaction;
|
||||||
|
|
||||||
import com.afollestad.materialcab.MaterialCab;
|
import com.afollestad.materialcab.MaterialCab;
|
||||||
import com.bumptech.glide.request.Request;
|
|
||||||
import com.bumptech.glide.request.target.SizeReadyCallback;
|
|
||||||
import com.bumptech.glide.request.target.Target;
|
|
||||||
import com.bumptech.glide.request.transition.Transition;
|
|
||||||
import com.google.android.material.appbar.AppBarLayout;
|
import com.google.android.material.appbar.AppBarLayout;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
import code.name.monkey.appthemehelper.ThemeStore;
|
import code.name.monkey.appthemehelper.ThemeStore;
|
||||||
import code.name.monkey.appthemehelper.common.ATHToolbarActivity;
|
import code.name.monkey.appthemehelper.common.ATHToolbarActivity;
|
||||||
import code.name.monkey.appthemehelper.util.ATHUtil;
|
import code.name.monkey.appthemehelper.util.ATHUtil;
|
||||||
|
@ -42,18 +34,14 @@ import code.name.monkey.retromusic.R;
|
||||||
import code.name.monkey.retromusic.dialogs.CreatePlaylistDialog;
|
import code.name.monkey.retromusic.dialogs.CreatePlaylistDialog;
|
||||||
import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment;
|
import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment;
|
||||||
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment;
|
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment;
|
||||||
import code.name.monkey.retromusic.glide.GlideApp;
|
|
||||||
import code.name.monkey.retromusic.helper.SortOrder;
|
import code.name.monkey.retromusic.helper.SortOrder;
|
||||||
import code.name.monkey.retromusic.interfaces.CabHolder;
|
import code.name.monkey.retromusic.interfaces.CabHolder;
|
||||||
import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks;
|
import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks;
|
||||||
import code.name.monkey.retromusic.util.NavigationUtil;
|
import code.name.monkey.retromusic.util.NavigationUtil;
|
||||||
import code.name.monkey.retromusic.util.PreferenceUtil;
|
|
||||||
import code.name.monkey.retromusic.util.RetroColorUtil;
|
import code.name.monkey.retromusic.util.RetroColorUtil;
|
||||||
import code.name.monkey.retromusic.util.RetroUtil;
|
import code.name.monkey.retromusic.util.RetroUtil;
|
||||||
import io.reactivex.disposables.CompositeDisposable;
|
import io.reactivex.disposables.CompositeDisposable;
|
||||||
|
|
||||||
import static code.name.monkey.retromusic.Constants.USER_PROFILE;
|
|
||||||
|
|
||||||
public class LibraryFragment extends AbsMainActivityFragment implements CabHolder, MainActivityFragmentCallbacks {
|
public class LibraryFragment extends AbsMainActivityFragment implements CabHolder, MainActivityFragmentCallbacks {
|
||||||
|
|
||||||
public static final String TAG = "LibraryFragment";
|
public static final String TAG = "LibraryFragment";
|
||||||
|
@ -101,78 +89,9 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
||||||
toolbar = view.findViewById(R.id.toolbar);
|
toolbar = view.findViewById(R.id.toolbar);
|
||||||
userImage = view.findViewById(R.id.userImage);
|
userImage = view.findViewById(R.id.userImage);
|
||||||
userImage.setOnClickListener(v -> showMainMenu());
|
userImage.setOnClickListener(v -> showMainMenu());
|
||||||
|
|
||||||
loadImageFromStorage();
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void loadImageFromStorage() {
|
|
||||||
GlideApp.with(getMainActivity())
|
|
||||||
.asDrawable()
|
|
||||||
.placeholder(R.drawable.ic_person_flat)
|
|
||||||
.fallback(R.drawable.ic_person_flat)
|
|
||||||
.load(new File(PreferenceUtil.getInstance().getProfileImage(), USER_PROFILE))
|
|
||||||
.into(new Target<Drawable>() {
|
|
||||||
@Override
|
|
||||||
public void onLoadStarted(@Nullable Drawable placeholder) {
|
|
||||||
userImage.setImageDrawable(placeholder);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadFailed(@Nullable Drawable errorDrawable) {
|
|
||||||
userImage.setImageDrawable(errorDrawable);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
|
|
||||||
userImage.setImageDrawable(resource);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadCleared(@Nullable Drawable placeholder) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void getSize(@NonNull SizeReadyCallback cb) {
|
|
||||||
cb.onSizeReady(32, 32);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void removeCallback(@NonNull SizeReadyCallback cb) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setRequest(@Nullable Request request) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public Request getRequest() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStart() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStop() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDestroy() {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTitle(@StringRes int name) {
|
public void setTitle(@StringRes int name) {
|
||||||
bannerTitle.setText(getString(name));
|
bannerTitle.setText(getString(name));
|
||||||
}
|
}
|
||||||
|
|
|
@ -160,72 +160,6 @@ public class FoldersFragment extends AbsMainActivityFragment implements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadImageFromStorage() {
|
|
||||||
GlideApp.with(getMainActivity())
|
|
||||||
.asDrawable()
|
|
||||||
.placeholder(R.drawable.ic_person_flat)
|
|
||||||
.fallback(R.drawable.ic_person_flat)
|
|
||||||
.load(new File(PreferenceUtil.getInstance().getProfileImage(), USER_PROFILE))
|
|
||||||
.into(new Target<Drawable>() {
|
|
||||||
@Override
|
|
||||||
public void onLoadStarted(@Nullable Drawable placeholder) {
|
|
||||||
userImage.setImageDrawable(placeholder);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadFailed(@Nullable Drawable errorDrawable) {
|
|
||||||
userImage.setImageDrawable(errorDrawable);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
|
|
||||||
userImage.setImageDrawable(resource);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadCleared(@Nullable Drawable placeholder) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void getSize(@NonNull SizeReadyCallback cb) {
|
|
||||||
cb.onSizeReady(32, 32);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void removeCallback(@NonNull SizeReadyCallback cb) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public Request getRequest() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setRequest(@Nullable Request request) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStart() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStop() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDestroy() {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void initViews(View view) {
|
private void initViews(View view) {
|
||||||
coordinatorLayout = view.findViewById(R.id.coordinatorLayout);
|
coordinatorLayout = view.findViewById(R.id.coordinatorLayout);
|
||||||
userImage = view.findViewById(R.id.userImage);
|
userImage = view.findViewById(R.id.userImage);
|
||||||
|
@ -305,7 +239,6 @@ public class FoldersFragment extends AbsMainActivityFragment implements
|
||||||
setUpBreadCrumbs();
|
setUpBreadCrumbs();
|
||||||
setUpRecyclerView();
|
setUpRecyclerView();
|
||||||
setUpAdapter();
|
setUpAdapter();
|
||||||
loadImageFromStorage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpAppbarColor() {
|
private void setUpAppbarColor() {
|
||||||
|
|
|
@ -109,61 +109,6 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun loadImageFromStorage(imageView: ImageView) {
|
|
||||||
GlideApp.with(mainActivity)
|
|
||||||
.asDrawable()
|
|
||||||
.placeholder(R.drawable.ic_person_flat)
|
|
||||||
.fallback(R.drawable.ic_person_flat)
|
|
||||||
.load(File(PreferenceUtil.getInstance().profileImage, USER_PROFILE))
|
|
||||||
.into(object : Target<Drawable> {
|
|
||||||
override fun onLoadStarted(placeholder: Drawable?) {
|
|
||||||
imageView.setImageDrawable(placeholder)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onLoadFailed(errorDrawable: Drawable?) {
|
|
||||||
imageView.setImageDrawable(errorDrawable)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onResourceReady(resource: Drawable, transition: Transition<in Drawable>?) {
|
|
||||||
imageView.setImageDrawable(resource)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onLoadCleared(placeholder: Drawable?) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getSize(cb: SizeReadyCallback) {
|
|
||||||
cb.onSizeReady(32, 32)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun removeCallback(cb: SizeReadyCallback) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setRequest(request: Request?) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getRequest(): Request? {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onStart() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onStop() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDestroy() {
|
|
||||||
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
homePresenter = HomePresenter(this)
|
homePresenter = HomePresenter(this)
|
||||||
|
@ -240,7 +185,6 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
disposable = CompositeDisposable()
|
disposable = CompositeDisposable()
|
||||||
loadImageFromStorage(userImage)
|
|
||||||
getTimeOfTheDay()
|
getTimeOfTheDay()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -74,32 +74,8 @@ class MainSettingsFragment : Fragment(), View.OnClickListener {
|
||||||
text.text = PreferenceUtil.getInstance().userBio
|
text.text = PreferenceUtil.getInstance().userBio
|
||||||
titleWelcome.setTextColor(ThemeStore.textColorPrimary(context!!))
|
titleWelcome.setTextColor(ThemeStore.textColorPrimary(context!!))
|
||||||
titleWelcome.text = String.format("%s %s!", getTimeOfTheDay(), PreferenceUtil.getInstance().userName)
|
titleWelcome.text = String.format("%s %s!", getTimeOfTheDay(), PreferenceUtil.getInstance().userName)
|
||||||
loadImageFromStorage()
|
|
||||||
userInfoContainer.setOnClickListener { NavigationUtil.goToUserInfo(activity!!) }
|
userInfoContainer.setOnClickListener { NavigationUtil.goToUserInfo(activity!!) }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
disposable.clear()
|
|
||||||
}
|
|
||||||
|
|
||||||
private val disposable = CompositeDisposable()
|
|
||||||
private fun loadImageFromStorage() {
|
|
||||||
|
|
||||||
disposable.add(Compressor(context!!)
|
|
||||||
.setMaxHeight(300)
|
|
||||||
.setMaxWidth(300)
|
|
||||||
.setQuality(75)
|
|
||||||
.setCompressFormat(Bitmap.CompressFormat.WEBP)
|
|
||||||
.compressToBitmapAsFlowable(
|
|
||||||
File(PreferenceUtil.getInstance().profileImage, USER_PROFILE))
|
|
||||||
.subscribeOn(Schedulers.io())
|
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
|
||||||
.subscribe({ userImage.setImageBitmap(it) }, {
|
|
||||||
userImage.setImageDrawable(ContextCompat.getDrawable(context!!, R.drawable.ic_person_flat))
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun inflateFragment(fragment: Fragment, @StringRes title: Int) {
|
private fun inflateFragment(fragment: Fragment, @StringRes title: Int) {
|
||||||
if (activity != null) {
|
if (activity != null) {
|
||||||
(activity as SettingsActivity).setupFragment(fragment, title)
|
(activity as SettingsActivity).setupFragment(fragment, title)
|
||||||
|
|
|
@ -51,8 +51,8 @@ public class NetworkImageView extends CircularImageView {
|
||||||
public void setImageUrl(@NonNull Context context, @NonNull String imageUrl) {
|
public void setImageUrl(@NonNull Context context, @NonNull String imageUrl) {
|
||||||
GlideApp.with(context)
|
GlideApp.with(context)
|
||||||
.load(imageUrl)
|
.load(imageUrl)
|
||||||
.error(R.drawable.ic_person_flat)
|
.error(R.drawable.ic_account_white_24dp)
|
||||||
.placeholder(R.drawable.ic_person_flat)
|
.placeholder(R.drawable.ic_account_white_24dp)
|
||||||
.into(this);
|
.into(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,147 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019 Hemanth Savarala.
|
||||||
|
*
|
||||||
|
* Licensed under the GNU General Public License v3
|
||||||
|
*
|
||||||
|
* This is free software: you can redistribute it and/or modify it under
|
||||||
|
* the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation either version 3 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package code.name.monkey.retromusic.views;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.preference.PreferenceManager;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
|
import com.bumptech.glide.request.Request;
|
||||||
|
import com.bumptech.glide.request.target.SizeReadyCallback;
|
||||||
|
import com.bumptech.glide.request.target.Target;
|
||||||
|
import com.bumptech.glide.request.transition.Transition;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
import code.name.monkey.retromusic.R;
|
||||||
|
import code.name.monkey.retromusic.glide.GlideApp;
|
||||||
|
import code.name.monkey.retromusic.util.PreferenceUtil;
|
||||||
|
|
||||||
|
import static code.name.monkey.retromusic.Constants.USER_PROFILE;
|
||||||
|
|
||||||
|
public class UserImageView extends CircularImageView implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
|
public UserImageView(@NonNull Context context) {
|
||||||
|
super(context);
|
||||||
|
init(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserImageView(@NonNull Context context, @NonNull AttributeSet attrs) {
|
||||||
|
super(context, attrs);
|
||||||
|
init(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserImageView(@NonNull Context context, @NonNull AttributeSet attrs, int defStyleAttr) {
|
||||||
|
super(context, attrs, defStyleAttr);
|
||||||
|
init(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
void init(@NonNull Context context) {
|
||||||
|
resetImage(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void resetImage(@NonNull Context context) {
|
||||||
|
GlideApp.with(context)
|
||||||
|
.asDrawable()
|
||||||
|
.placeholder(R.drawable.ic_account_white_24dp)
|
||||||
|
.fallback(R.drawable.ic_account_white_24dp)
|
||||||
|
.load(new File(PreferenceUtil.getInstance().getProfileImage(), USER_PROFILE))
|
||||||
|
.into(new Target<Drawable>() {
|
||||||
|
@Override
|
||||||
|
public void onLoadStarted(@Nullable Drawable placeholder) {
|
||||||
|
setImageDrawable(placeholder);
|
||||||
|
setBackgroundColor(Color.TRANSPARENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadFailed(@Nullable Drawable errorDrawable) {
|
||||||
|
setImageDrawable(errorDrawable);
|
||||||
|
setBackgroundColor(Color.TRANSPARENT);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
|
||||||
|
setImageDrawable(resource);
|
||||||
|
setBackgroundColor(Color.TRANSPARENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadCleared(@Nullable Drawable placeholder) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getSize(@NonNull SizeReadyCallback cb) {
|
||||||
|
cb.onSizeReady(32, 32);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeCallback(@NonNull SizeReadyCallback cb) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public Request getRequest() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setRequest(@Nullable Request request) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStart() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStop() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onAttachedToWindow() {
|
||||||
|
super.onAttachedToWindow();
|
||||||
|
PreferenceManager.getDefaultSharedPreferences(getContext()).registerOnSharedPreferenceChangeListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDetachedFromWindow() {
|
||||||
|
super.onDetachedFromWindow();
|
||||||
|
PreferenceManager.getDefaultSharedPreferences(getContext()).unregisterOnSharedPreferenceChangeListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSharedPreferenceChanged(@NonNull SharedPreferences sharedPreferences, @NonNull String key) {
|
||||||
|
if (key.equals(PreferenceUtil.PROFILE_IMAGE_PATH)) {
|
||||||
|
resetImage(getContext());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
app/src/main/res/drawable-xxxhdpi/np_classic.webp
Normal file
BIN
app/src/main/res/drawable-xxxhdpi/np_classic.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 56 KiB |
Binary file not shown.
Before Width: | Height: | Size: 17 KiB |
|
@ -62,14 +62,17 @@
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="32dp"
|
android:layout_height="32dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/bannerTitle"
|
android:id="@+id/bannerTitle"
|
||||||
|
|
|
@ -31,15 +31,18 @@
|
||||||
style="@style/Toolbar"
|
style="@style/Toolbar"
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="32dp"
|
android:layout_height="32dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/bannerTitle"
|
android:id="@+id/bannerTitle"
|
||||||
|
|
|
@ -64,14 +64,18 @@
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="32dp"
|
android:layout_height="32dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/bannerTitle"
|
android:id="@+id/bannerTitle"
|
||||||
|
|
|
@ -33,14 +33,17 @@
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="32dp"
|
android:layout_height="32dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/bannerTitle"
|
android:id="@+id/bannerTitle"
|
||||||
|
|
|
@ -62,15 +62,17 @@
|
||||||
style="@style/Toolbar"
|
style="@style/Toolbar"
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="32dp"
|
android:layout_height="32dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/bannerTitle"
|
android:id="@+id/bannerTitle"
|
||||||
|
|
|
@ -34,14 +34,17 @@
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="32dp"
|
android:layout_height="32dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/bannerTitle"
|
android:id="@+id/bannerTitle"
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:src="@drawable/img_offer"
|
|
||||||
android:contentDescription="TODO" />
|
android:contentDescription="TODO" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|
|
@ -58,14 +58,18 @@
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="32dp"
|
android:layout_height="32dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/bannerTitle"
|
android:id="@+id/bannerTitle"
|
||||||
|
|
|
@ -42,14 +42,17 @@
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="32dp"
|
android:layout_height="32dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/bannerTitle"
|
android:id="@+id/bannerTitle"
|
||||||
|
|
|
@ -30,14 +30,17 @@
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="32dp"
|
android:layout_height="32dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/bannerTitle"
|
android:id="@+id/bannerTitle"
|
||||||
|
|
|
@ -40,14 +40,17 @@
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="32dp"
|
android:layout_width="32dp"
|
||||||
android:layout_height="32dp"
|
android:layout_height="32dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/bannerTitle"
|
android:id="@+id/bannerTitle"
|
||||||
|
|
|
@ -21,13 +21,18 @@
|
||||||
android:minHeight="72dp"
|
android:minHeight="72dp"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<code.name.monkey.retromusic.views.CircularImageView
|
<code.name.monkey.retromusic.views.UserImageView
|
||||||
android:id="@+id/userImage"
|
android:id="@+id/userImage"
|
||||||
android:layout_width="42dp"
|
android:layout_width="42dp"
|
||||||
android:layout_height="42dp"
|
android:layout_height="42dp"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
app:civ_border="false" />
|
android:background="@android:color/transparent"
|
||||||
|
app:civ_border="false"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:civ_shadow="false" />
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<!-- drawable/toggle_switch.xml -->
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
|
|
Loading…
Reference in a new issue