X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FProfileListActivity.java;h=42c832a817e91ccd7adbf2c3ba008159a9551463;hb=4c4305ee22166d4c8f3c5a57b8357af3fd77c29e;hp=5b43b8ed3ac2b65598cfbc93e252e1101bc70f94;hpb=47bec46796bec48131fc010c21d7727555dba5ea;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileListActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileListActivity.java index 5b43b8ed..42c832a8 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileListActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileListActivity.java @@ -137,25 +137,6 @@ public class ProfileListActivity extends AppCompatActivity { new ItemTouchHelper(cb).attachToRecyclerView(recyclerView); recyclerView.addItemDecoration(new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL)); - - recyclerView.setOnFlingListener(new RecyclerView.OnFlingListener() { - @Override - public boolean onFling(int dX, int dY) { - Log.d("tmp", String.format("fling %d %d", dX, dY)); - if (dY > 0) fab.hide(); - if (dY < 0) fab.show(); - return false; - } - }); - - recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { - super.onScrolled(recyclerView, dx, dy); - if (dy > 0) fab.hide(); - if (dy < 0) fab.show(); - } - }); } public static class ProfilesRecyclerViewAdapter @@ -200,23 +181,28 @@ public class ProfileListActivity extends AppCompatActivity { View view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.profile_list_content, parent, false); ProfileListViewHolder holder = new ProfileListViewHolder(view); - Data.profile.addObserver((o, arg) -> { - MobileLedgerProfile newProfile = Data.profile.get(); - MobileLedgerProfile profile = (MobileLedgerProfile) holder.itemView.getTag(); - holder.mRadioView.setChecked(profile.equals(newProfile)); - }); holder.mRadioView.setOnCheckedChangeListener((buttonView, isChecked) -> { if (!isChecked) return; + Log.d("profiles", + String.format("Item %d got checked", holder.getAdapterPosition())); MobileLedgerProfile profile = (MobileLedgerProfile) holder.itemView.getTag(); - if (profile != null) Data.setCurrentProfile(profile); + if (profile != null) { + Log.d("profiles", + String.format("Setting current profile to %s", profile.getUuid())); + Data.setCurrentProfile(profile); + } }); View.OnClickListener profileSelector = v -> holder.mRadioView.setChecked(true); holder.mTitle.setOnClickListener(profileSelector); holder.mSubTitle.setOnClickListener(profileSelector); Data.profile.addObserver((o, arg) -> { - MobileLedgerProfile profile = (MobileLedgerProfile) holder.itemView.getTag(); - holder.mRadioView.setChecked(Data.profile.get().equals(profile)); + MobileLedgerProfile myProfile = (MobileLedgerProfile) holder.itemView.getTag(); + final MobileLedgerProfile currentProfile = Data.profile.get(); + final boolean sameProfile = currentProfile.equals(myProfile); + if (holder.mRadioView.isChecked() != sameProfile) { + holder.mRadioView.setChecked(sameProfile); + } }); return holder; } @@ -226,11 +212,11 @@ public class ProfileListActivity extends AppCompatActivity { final MobileLedgerProfile currentProfile = Data.profile.get(); Log.d("profiles", String.format("pos %d: %s, current: %s", position, profile.getUuid(), currentProfile.getUuid())); + holder.itemView.setTag(profile); holder.mTitle.setText(profile.getName()); holder.mSubTitle.setText(profile.getUrl()); - holder.mRadioView.setChecked(profile.getUuid().equals(currentProfile.getUuid())); + holder.mRadioView.setChecked(profile.equals(currentProfile)); - holder.itemView.setTag(profile); holder.mEditButton.setOnClickListener(mOnClickListener); } @Override