[Wear OS Q&A, Help & Troubleshooting] jeb192004:
I'm having some trouble. I just added watch view stub to my code so I can support both square and round devices. Everything still works but now when the watch face is selected it takes a few min to show the text. The background shows up right on both dim and awake screens right away. Its just the text that takes a while to appear.

It only does this when first selecting my watch face.

Am I doing something wrong?

import android.content.*;
import android.graphics.*;
import android.os.*;
import android.widget.*;
import java.text.*;
import java.util.*;
import android.view.*;
import android.support.wearable.view.WatchViewStub;

public class WearableActivity extends WatchFaceActivity
{
private final static IntentFilter intentFilter;

static {
intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_TIME_TICK);
intentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
intentFilter.addAction(Intent.ACTION_TIME_CHANGED);
}

TextView time, battery, watchdate, weekday, watchface, phonebattery, time2, watchdate2;
ImageView image, image_dim;
private final String TIME_FORMAT_DISPLAYED = "h\nmm";
private final String DATE_FORMAT_DISPLAYED = "cccc\nMMM\nd\nyyyy";
private final String DAY_FORMAT_DISPLAYED = "cccc";
private final String TIME2_FORMAT_DISPLAYED = "h:mm a";
private final String DATE2_FORMAT_DISPLAYED = "MMM d, yyyy";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);

final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(WatchViewStub stub){

time = (TextView) findViewById(R.id.watch_time);
battery = (TextView) findViewById(R.id.watch_battery);
watchdate = (TextView) findViewById(R.id.watch_date);
time2 = (TextView) findViewById(R.id.watch_time2);
watchdate2 = (TextView) findViewById(R.id.watch_date2);
weekday = (TextView) findViewById(R.id.weekday);
image = (ImageView) findViewById(R.id.backimage);
image_dim = (ImageView) findViewById(R.id.image_dim);
phonebattery = (TextView) findViewById(R.id.phone_battery);

registerReceiver(mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

registerReceiver(mTimeInfoReceiver, intentFilter);

}

});}

@Override
public void onScreenAwake()
{
RelativeLayout rl = (RelativeLayout)findViewById(R.id.watchface);
rl.setBackgroundColor(Color.BLACK);
image.setVisibility(View.VISIBLE);

weekday.setVisibility(View.GONE);
time.setVisibility(View.VISIBLE);
watchdate.setVisibility(View.VISIBLE);
time2.setVisibility(View.GONE);
watchdate2.setVisibility(View.GONE);
image_dim.setVisibility(View.GONE);
image_dim.setRotation(75);
time.setTextColor(Color.CYAN);
battery.setTextColor(Color.CYAN);
watchdate.setTextColor(Color.CYAN);
battery.setVisibility(View.VISIBLE);
}

@Override
public void onScreenDim()
{
RelativeLayout rl = (RelativeLayout)findViewById(R.id.watchface);
rl.setBackgroundColor(Color.BLACK);
image.setVisibility(View.GONE);

weekday.setVisibility(View.VISIBLE);
time.setVisibility(View.GONE);
watchdate.setVisibility(View.GONE);
time2.setVisibility(View.VISIBLE);
watchdate2.setVisibility(View.VISIBLE);
image_dim.setVisibility(View.VISIBLE);
time2.setTextColor(Color.GRAY);
watchdate2.setTextColor(Color.GRAY);
phonebattery.setTextColor(Color.BLACK);
weekday.setTextColor(Color.GRAY);
battery.setVisibility(View.GONE);
}

private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent intent) {
battery.setText(String.valueOf(intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0) + "%"));
}
};

private BroadcastReceiver mTimeInfoReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent intent) {
Date date = new Date();
time.setText(new SimpleDateFormat(TIME_FORMAT_DISPLAYED).format(date));

watchdate.setText(new SimpleDateFormat(DATE_FORMAT_DISPLAYED).format(date));

weekday.setText(new SimpleDateFormat(DAY_FORMAT_DISPLAYED).format(date));

time2.setText(new SimpleDateFormat(TIME2_FORMAT_DISPLAYED).format(date));

watchdate2.setText(new SimpleDateFormat(DATE2_FORMAT_DISPLAYED).format(date));

}
};

@Override
public void onWatchFaceRemoved() {}

}