@Override public void dispatchDemoCommand(String command, Bundle args) { if (getVisibility() == View.VISIBLE) { if (!mDemoMode && command.equals(COMMAND_ENTER)) { mDemoMode = true; mDemoTracker.level = mTracker.level; mDemoTracker.plugged = mTracker.plugged; } else if (mDemoMode && command.equals(COMMAND_EXIT)) { mDemoMode = false; postInvalidate(); } else if (mDemoMode && command.equals(COMMAND_BATTERY)) { String level = args.getString("level"); String plugged = args.getString("plugged"); if (level != null) { mDemoTracker.level = Math.min(Math.max(Integer.parseInt(level), 0), 100); } if (plugged != null) { mDemoTracker.plugged = Boolean.parseBoolean(plugged); } postInvalidate(); } } }