X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FProfileListActivity.java;h=07fce288bdcc6d51ec09ba92b640150ea9d273d0;hp=cb37f5f18d0456c16609bacbdd4647169951334c;hb=7ff1c26d71d1f13fab1d7e1dc93c0d9469b64236;hpb=b06a7a291e35add2dfc89313d226c5efd1bae3b3 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 cb37f5f1..07fce288 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 @@ -41,8 +41,6 @@ import net.ktnx.mobileledger.ui.profiles.ProfileDetailActivity; import net.ktnx.mobileledger.ui.profiles.ProfileDetailFragment; import java.util.Collections; -import java.util.Observable; -import java.util.Observer; /** * An activity representing a list of Profiles. This activity @@ -143,7 +141,7 @@ public class ProfileListActivity extends AppCompatActivity { recyclerView.setOnFlingListener(new RecyclerView.OnFlingListener() { @Override public boolean onFling(int dX, int dY) { - Log.d("tmp", String.format("fling %d %d", dX, dY)); +// Log.d("tmp", String.format("fling %d %d", dX, dY)); if (dY > 0) fab.hide(); if (dY < 0) fab.show(); return false; @@ -207,6 +205,19 @@ public class ProfileListActivity extends AppCompatActivity { MobileLedgerProfile profile = (MobileLedgerProfile) holder.itemView.getTag(); holder.mRadioView.setChecked(profile.equals(newProfile)); }); + + holder.mRadioView.setOnCheckedChangeListener((buttonView, isChecked) -> { + if (!isChecked) return; + MobileLedgerProfile profile = (MobileLedgerProfile) holder.itemView.getTag(); + if (profile != null) 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)); + }); return holder; } @Override @@ -215,20 +226,8 @@ 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())); - View.OnClickListener profileSelector = v -> { - holder.mRadioView.setChecked(true); - Data.setCurrentProfile(profile); - }; - Data.profile.addObserver(new Observer() { - @Override - public void update(Observable o, Object arg) { - holder.mRadioView.setChecked(Data.profile.get().equals(profile)); - } - }); holder.mTitle.setText(profile.getName()); - holder.mTitle.setOnClickListener(profileSelector); holder.mSubTitle.setText(profile.getUrl()); - holder.mSubTitle.setOnClickListener(profileSelector); holder.mRadioView.setChecked(profile.getUuid().equals(currentProfile.getUuid())); holder.itemView.setTag(profile);