Buggy code:
public class WeatherWatchFaceService extends CanvasWatchFaceService { private static final String TAG = "WeatherWatchFaceService" ; private static String PACKAGE_NAME = WeatherWatchFaceService . class . getPackage ( ) . getName ( ) ; @ Override public WeatherWatchFaceService . Engine onCreateEngine ( ) { } private class Engine extends CanvasWatchFaceService . Engine implements GoogleApiClient . ConnectionCallbacks , GoogleApiClient . OnConnectionFailedListener , MessageApi . MessageListener , NodeApi . NodeListener { public static final String KEY_CONFIG_REQUIRE_INTERVAL = "RequireInterval" ; public static final String KEY_CONFIG_TEMPERATURE_SCALE = "TemperatureScale" ; public static final String KEY_WEATHER_CONDITION = "Condition" ; public static final String KEY_WEATHER_SUNRISE = "Sunrise" ; public static final String KEY_WEATHER_SUNSET = "Sunset" ; public static final String KEY_CONFIG_THEME = "Theme" ; public static final String KEY_CONFIG_TIME_UNIT = "TimeUnit" ; public static final String KEY_WEATHER_TEMPERATURE = "Temperature" ; public static final String PATH_CONFIG = "//WeatherWatchFace//Config" ; public static final String PATH_WEATHER_INFO = "//WeatherWatchFace//WeatherInfo" ; public static final String PATH_WEATHER_REQUIRE = "//WeatherService//Require" ; private static final String COLON_STRING = ":" ; private static final int MSG_UPDATE_TIME = 0 ; private int mTheme = 3 ; private int mTimeUnit = ConverterUtil . TIME_UNIT_12 ; private static final long UPDATE_RATE_MS = 1000 ; private static final long WEATHER_INFO_TIME_OUT = ( DateUtils . HOUR_IN_MILLIS ) * 6 ; AssetManager mAsserts ; Bitmap mWeatherConditionDrawable ; final BroadcastReceiver mTimeZoneReceiver = new BroadcastReceiver ( ) { @ Override public void onReceive ( Context context , Intent intent ) { } } ; GoogleApiClient mGoogleApiClient = new GoogleApiClient . Builder ( WeatherWatchFaceService . this ) . addConnectionCallbacks ( this ) . addOnConnectionFailedListener ( this ) . addApi ( API ) . build ( ) ; final Handler mUpdateTimeHandler = new Handler ( ) { @ Override public void handleMessage ( Message message ) { } } ; Paint mBackgroundPaint ; Paint mDatePaint ; Paint mDateSuffixPaint ; Paint mDebugInfoPaint ; Paint mTemperatureBorderPaint ; Paint mTemperaturePaint ; Paint mTemperatureSuffixPaint ; Paint mTimePaint ; Resources mResources ; String mWeatherCondition ; String mWeatherConditionResourceName ; Time mSunriseTime ; Time mSunsetTime ; Time mTime ; boolean isRound ; boolean mGotConfig ; boolean mLowBitAmbient ; boolean mRegisteredService = false ; float mColonXOffset ; float mDateSuffixYOffset ; float mDateYOffset ; float mDebugInfoYOffset ; float mInternalDistance ; float mTemperatureSuffixYOffset ; float mTemperatureYOffset ; float mTimeXOffset ; float mTimeYOffset ; int mBackgroundColor ; int mBackgroundDefaultColor ; int mRequireInterval ; int mTemperature = Integer . MAX_VALUE ; int mTemperatureScale ; long mWeatherInfoReceivedTime ; long mWeatherInfoRequiredTime ; @ Override public void onConnected ( Bundle bundle ) { } @ Override public void onConnectionSuspended ( int i ) { } @ Override public void onMessageReceived ( MessageEvent messageEvent ) { } @ Override public void onPeerConnected ( Node node ) { } @ Override public void onPeerDisconnected ( Node node ) { } @ Override public void onConnectionFailed ( ConnectionResult connectionResult ) { } @ Override public void onAmbientModeChanged ( boolean inAmbientMode ) { } @ Override public void onApplyWindowInsets ( WindowInsets insets ) { } @ Override public void onCreate ( SurfaceHolder holder ) { } @ Override public void onDestroy ( ) { } @ Override public void onDraw ( Canvas canvas , Rect bounds ) { } @ Override public void onInterruptionFilterChanged ( int interruptionFilter ) { } @ Override public void onPropertiesChanged ( Bundle properties ) { } @ Override public void onTimeTick ( ) { } @ Override public void onVisibilityChanged ( boolean visible ) { } private Paint createTextPaint ( int color , Typeface typeface ) { } private boolean shouldUpdateTimerBeRunning ( ) { } private void fetchConfig ( DataMap config ) { } private void getConfig ( ) { } private void log ( String message ) { } private void registerTimeZoneService ( ) { } private void requireWeatherInfo ( ) { if ( ! ( mGoogleApiClient . isConnected ( ) ) ) return ; long timeMs = System . currentTimeMillis ( ) ; if ( ( timeMs - ( mWeatherInfoReceivedTime ) ) <= ( mRequireInterval ) ) return ; if ( ( timeMs - ( mWeatherInfoRequiredTime ) ) <= ( DateUtils . MINUTE_IN_MILLIS ) ) return ; mWeatherInfoRequiredTime = timeMs ; Wearable . MessageApi . sendMessage ( mGoogleApiClient , "" , WeatherWatchFaceService . Engine . PATH_WEATHER_REQUIRE , null ) . setResultCallback ( new com . google . android . gms . common . api . ResultCallback < MessageApi . SendMessageResult > ( ) { @ Override public void onResult ( MessageApi . SendMessageResult sendMessageResult ) { <START_BUG> log ( ( "SendStartMessage:" + ( sendMessageResult . getStatus ( ) ) ) ) ; <END_BUG> } } ) ; } private void saveConfig ( ) { } private void unregisterTimeZoneService ( ) { } private void updateTimer ( ) { } } }

Fix:
log ( ( "SendRequireMessage:" + ( sendMessageResult . getStatus ( ) ) ) ) ;