package com.appboy.wear.managers; import android.content.Context; import android.util.DisplayMetrics; import android.view.WindowManager; import com.appboy.wear.models.WearDevice; import com.appboy.wear.models.WearDeviceIdentifiers; import com.appboy.wear.models.WearDisplay; public class WearDeviceDataProvider { private static final String CONNECTED_DEVICE_TYPE_WATCH = "watch"; private final Context mContext; private final WearDeviceIdentifiers mWearDeviceIdentifiers; private final String mScreenType; public WearDeviceDataProvider(Context context, AppboyWearDeviceIdReader deviceIdReader, String screenType) { mContext = context; mWearDeviceIdentifiers = new WearDeviceIdentifiers(deviceIdReader.readGeneratedDeviceId()); mScreenType = screenType; } public WearDevice getWearDevice() { return new WearDevice(readAndroidVersion(), readDeviceType(), readModel(), readDisplay(), mWearDeviceIdentifiers); } private WearDisplay readDisplay() { DisplayMetrics displayMetrics = new DisplayMetrics(); WindowManager windowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); windowManager.getDefaultDisplay().getMetrics(displayMetrics); return new WearDisplay(displayMetrics.widthPixels, displayMetrics.heightPixels, displayMetrics.xdpi, displayMetrics.ydpi, displayMetrics.densityDpi, mScreenType); } private String readModel() { return android.os.Build.MODEL; } private String readDeviceType() { return CONNECTED_DEVICE_TYPE_WATCH; } private int readAndroidVersion() { return android.os.Build.VERSION.SDK_INT; } }