Skip to content

Commit

Permalink
Issue 63: Fix chronometer bug.
Browse files Browse the repository at this point in the history
On some devices, the chronometer didn't appear to update in some cases.
  • Loading branch information
caarmen committed Mar 2, 2018
1 parent 027c598 commit d8f0d3b
Showing 1 changed file with 7 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,24 +21,25 @@
import android.content.Context;
import android.databinding.DataBindingUtil;
import android.graphics.drawable.AnimationDrawable;
import android.os.Handler;
import android.os.SystemClock;
import android.support.annotation.ColorInt;
import android.support.annotation.ColorRes;
import android.support.v4.content.ContextCompat;
import android.support.v7.widget.RecyclerView;
import android.text.format.DateUtils;

import ca.rmen.android.scrumchatter.databinding.MeetingMemberListItemBinding;
import ca.rmen.android.scrumchatter.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.widget.ImageView;

import ca.rmen.android.scrumchatter.Constants;
import ca.rmen.android.scrumchatter.R;
import ca.rmen.android.scrumchatter.databinding.MeetingMemberListItemBinding;
import ca.rmen.android.scrumchatter.provider.MeetingColumns.State;
import ca.rmen.android.scrumchatter.provider.MeetingMemberCursorWrapper;
import ca.rmen.android.scrumchatter.util.Log;
import ca.rmen.android.scrumchatter.widget.ScrumChatterCursorAdapter;

/**
Expand Down Expand Up @@ -113,7 +114,9 @@ public void onBindViewHolder(MeetingViewHolder holder, int position) {
if (meetingMemberItemData.isTalking) {
long hasBeenTalkingFor = duration * 1000 + (System.currentTimeMillis() - talkStartTime);
binding.tvDuration.setBase(SystemClock.elapsedRealtime() - hasBeenTalkingFor);
binding.tvDuration.start();
// Issue #63: for some reason, if we start the chronometer directly, on some devices it
// may not appear to update.
new Handler().post(binding.tvDuration::start);
meetingMemberItemData.durationColor = mColorChronoActive;
startAnimation(binding.ivChatterFace);
} else {
Expand Down

0 comments on commit d8f0d3b

Please sign in to comment.