Loading src/com/android/deskclock/timer/TimerItemFragment.java +3 −7 Original line number Diff line number Diff line Loading @@ -56,14 +56,10 @@ public class TimerItemFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final TimerItem view = (TimerItem) inflater.inflate(R.layout.timer_item, container, false); final View resetAddButton = view.findViewById(R.id.reset_add); resetAddButton.setOnClickListener(new ResetAddListener()); final View labelView = view.findViewById(R.id.timer_label); labelView.setOnClickListener(new EditLabelListener()); view.findViewById(R.id.reset_add).setOnClickListener(new ResetAddListener()); view.findViewById(R.id.timer_label).setOnClickListener(new EditLabelListener()); view.update(getTimer()); return view; } Loading src/com/android/deskclock/timer/TimerPagerAdapter.java +22 −8 Original line number Diff line number Diff line Loading @@ -78,10 +78,25 @@ class TimerPagerAdapter extends PagerAdapter implements TimerListener { } final Timer timer = getTimers().get(position); final TimerItemFragment fragment = TimerItemFragment.newInstance(timer); // Search for the existing fragment by tag. final String tag = getClass().getSimpleName() + timer.getId(); TimerItemFragment fragment = (TimerItemFragment) mFragmentManager.findFragmentByTag(tag); if (fragment != null) { // Reattach the existing fragment. mCurrentTransaction.attach(fragment); } else { // Create and add a new fragment. fragment = TimerItemFragment.newInstance(timer); mCurrentTransaction.add(container.getId(), fragment, tag); } if (fragment != mCurrentPrimaryItem) { setItemVisible(fragment, false); } mFragments.put(timer.getId(), fragment); mCurrentTransaction.add(container.getId(), fragment); return fragment; } Loading Loading @@ -128,6 +143,11 @@ class TimerPagerAdapter extends PagerAdapter implements TimerListener { notifyDataSetChanged(); } @Override public void timerRemoved(Timer timer) { notifyDataSetChanged(); } @Override public void timerUpdated(Timer before, Timer after) { final TimerItemFragment timerItemFragment = mFragments.get(after.getId()); Loading @@ -136,12 +156,6 @@ class TimerPagerAdapter extends PagerAdapter implements TimerListener { } } @Override public void timerRemoved(Timer timer) { mFragments.remove(timer.getId()); notifyDataSetChanged(); } /** * @return {@code true} if at least one timer is in a state requiring continuous updates */ Loading Loading
src/com/android/deskclock/timer/TimerItemFragment.java +3 −7 Original line number Diff line number Diff line Loading @@ -56,14 +56,10 @@ public class TimerItemFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final TimerItem view = (TimerItem) inflater.inflate(R.layout.timer_item, container, false); final View resetAddButton = view.findViewById(R.id.reset_add); resetAddButton.setOnClickListener(new ResetAddListener()); final View labelView = view.findViewById(R.id.timer_label); labelView.setOnClickListener(new EditLabelListener()); view.findViewById(R.id.reset_add).setOnClickListener(new ResetAddListener()); view.findViewById(R.id.timer_label).setOnClickListener(new EditLabelListener()); view.update(getTimer()); return view; } Loading
src/com/android/deskclock/timer/TimerPagerAdapter.java +22 −8 Original line number Diff line number Diff line Loading @@ -78,10 +78,25 @@ class TimerPagerAdapter extends PagerAdapter implements TimerListener { } final Timer timer = getTimers().get(position); final TimerItemFragment fragment = TimerItemFragment.newInstance(timer); // Search for the existing fragment by tag. final String tag = getClass().getSimpleName() + timer.getId(); TimerItemFragment fragment = (TimerItemFragment) mFragmentManager.findFragmentByTag(tag); if (fragment != null) { // Reattach the existing fragment. mCurrentTransaction.attach(fragment); } else { // Create and add a new fragment. fragment = TimerItemFragment.newInstance(timer); mCurrentTransaction.add(container.getId(), fragment, tag); } if (fragment != mCurrentPrimaryItem) { setItemVisible(fragment, false); } mFragments.put(timer.getId(), fragment); mCurrentTransaction.add(container.getId(), fragment); return fragment; } Loading Loading @@ -128,6 +143,11 @@ class TimerPagerAdapter extends PagerAdapter implements TimerListener { notifyDataSetChanged(); } @Override public void timerRemoved(Timer timer) { notifyDataSetChanged(); } @Override public void timerUpdated(Timer before, Timer after) { final TimerItemFragment timerItemFragment = mFragments.get(after.getId()); Loading @@ -136,12 +156,6 @@ class TimerPagerAdapter extends PagerAdapter implements TimerListener { } } @Override public void timerRemoved(Timer timer) { mFragments.remove(timer.getId()); notifyDataSetChanged(); } /** * @return {@code true} if at least one timer is in a state requiring continuous updates */ Loading