当前位置: 首页>>代码示例>>Java>>正文


Java ComplicationData类代码示例

本文整理汇总了Java中android.support.wearable.complications.ComplicationData的典型用法代码示例。如果您正苦于以下问题:Java ComplicationData类的具体用法?Java ComplicationData怎么用?Java ComplicationData使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ComplicationData类属于android.support.wearable.complications包,在下文中一共展示了ComplicationData类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onComplicationTapped

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
/**
 * Handles what to do once a complication is tapped
 *
 * @param id of the complication tapped
 */
private void onComplicationTapped(int id) {
    final ComplicationData complicationData = mActiveComplicationDataSparseArray.get(id);

    if (complicationData != null) {
        if (complicationData.getTapAction() != null) {
            try {
                complicationData.getTapAction().send();
            } catch (PendingIntent.CanceledException e) {
                Log.d(TAG, "Something went wrong with tapping a complication");
            }

        } else if (complicationData.getType() == ComplicationData.TYPE_NO_PERMISSION) {
            ComponentName componentName = new ComponentName(
                    mContext, WatchFaceService.class);

            Intent permissionRequestIntent =
                    ComplicationHelperActivity.createPermissionRequestHelperIntent(
                            mContext, componentName);

            startActivity(permissionRequestIntent);
        }
    }
}
 
开发者ID:Nxt3,项目名称:IO_Classic_WatchFace,代码行数:29,代码来源:IOClassicWatchFaceService.java

示例2: updateComplication

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
static void updateComplication(float quote, boolean invert, String symbol, int complicationId, int type,
                               ComplicationManager manager, PendingIntent pi, Context ctx) {
    if (invert) {
        quote = 1.0f / quote;
    }
    DecimalFormat df = new DecimalFormat("#.###");
    df.setRoundingMode(RoundingMode.HALF_UP);
    String displayQuote = quote > 0.0f ? df.format(quote) : "-";
    String displayLabel = invert ? "$:" + symbol : symbol + ":$";
    ComplicationData.Builder builder = new ComplicationData.Builder(type);
    builder.setTapAction(pi);

    if (type == ComplicationData.TYPE_SHORT_TEXT) {
        builder.setShortText(ComplicationText.plainText(displayQuote));
        builder.setShortTitle(ComplicationText.plainText(displayLabel));
    } else if (type == ComplicationData.TYPE_LONG_TEXT) {
        builder.setLongText(ComplicationText.plainText(displayQuote));
        builder.setLongTitle(ComplicationText.plainText(displayLabel));
        builder.setIcon(Icon.createWithResource(ctx, R.mipmap.ic_provider_icon));
    }
    manager.updateComplicationData(complicationId, builder.build());

}
 
开发者ID:dps,项目名称:wear-exchangerates,代码行数:24,代码来源:ComplicationService.java

示例3: onComplicationActivated

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
@Override
public void onComplicationActivated(int complicationId, int type, ComplicationManager complicationManager) {
    super.onComplicationActivated(complicationId, type, complicationManager);
    NetworkComplicationProviderService.serviceInstance = this;
    NetworkComplicationProviderService.complicationManager = complicationManager;
    NetworkComplicationProviderService.complicationId = complicationId;
    Log.d(LOGTAG, "onCompilationActivated: compilationId=" + complicationId);

    // invoke the NetworkNotification service:
    Intent intent = new Intent(this, NetworkNotificationService.class);
    intent.setAction(NetworkNotificationService.ACTION_SHOW_COMPILATION);
    startService(intent);

    // Intent for tap event (invoke the NetworkNotification service)
    Intent tapIntent = new Intent(serviceInstance, StartActivity.class);
    tapIntent.setAction(NetworkNotificationService.ACTION_SHOW_NOTIFICATION);

    ComplicationData complicationData = new ComplicationData.Builder(ComplicationData.TYPE_SHORT_TEXT)
            .setShortText(ComplicationText.plainText(getString(R.string.loading)))
            .setIcon(Icon.createWithResource(serviceInstance, R.drawable.ic_launcher))
            .setTapAction(PendingIntent.getActivity(serviceInstance, 0, tapIntent, 0))
            .build();

    complicationManager.updateComplicationData(complicationId, complicationData);
}
 
开发者ID:demantz,项目名称:WearNetworkNotifications,代码行数:26,代码来源:NetworkComplicationProviderService.java

示例4: drawNotificationCount

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
/**
 * Handles drawing the notification count
 *
 * @param canvas to draw to
 */
private void drawNotificationCount(Canvas canvas) {
    int count = 0;

    if (mNotificationIndicatorUnread) {
        count = mUnreadNotificationCount;
    } else if (mNotificationIndicatorAll) {
        count = mNotificationCount;
    }

    if (count > 0) {
        //(x,y) coordinates for where to draw the notification indicator
        float xPos = mCenterX;
        float yPos = mCenterY + dpToPx(mContext, 18);

        /*
          Draw the notification indicator offset if there is a bottom complication.
          Otherwise, draw it below the center of the screen.
         */
        if (mActiveComplicationDataSparseArray.get(BOTTOM_COMPLICATION_ID) != null) {
            final int bottomType = mActiveComplicationDataSparseArray
                    .get(BOTTOM_COMPLICATION_ID).getType();

            if (bottomType != ComplicationData.TYPE_EMPTY
                    && bottomType != ComplicationData.TYPE_NOT_CONFIGURED) {
                //Offset from center
                xPos = mCenterX + dpToPx(mContext, 34);
                yPos = mCenterY * 1.34f;
            }
        }

        canvas.drawCircle(xPos, yPos, mCenterX * 0.08f, mNotificationCirclePaint);
        canvas.drawText(String.valueOf(mNotificationCount), xPos,
                yPos - (mNotificationTextPaint.descent()
                        + mNotificationTextPaint.ascent()) / 2, mNotificationTextPaint);
    }
}
 
开发者ID:Nxt3,项目名称:IO_Classic_WatchFace,代码行数:42,代码来源:IOClassicWatchFaceService.java

示例5: getTappedComplicationId

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
/**
 * Determines if a tap was inside a complication area
 *
 * @param x coordinate of tap
 * @param y coordinate of tap
 * @return the id of the complication that was tapped; if no complication was tapped,
 * return -1
 */
private int getTappedComplicationId(int x, int y) {
    long currentTimeMillis = System.currentTimeMillis();

    for (int COMPLICATION_ID : COMPLICATION_IDS) {
        final ComplicationData complicationData
                = mActiveComplicationDataSparseArray.get(COMPLICATION_ID);

        if ((complicationData != null)
                && (complicationData.isActive(currentTimeMillis))
                && (complicationData.getType() != ComplicationData.TYPE_NOT_CONFIGURED)
                && (complicationData.getType() != ComplicationData.TYPE_EMPTY)) {

            final ComplicationDrawable complicationDrawable
                    = mComplicationDrawableSparseArray.get(COMPLICATION_ID);
            final Rect complicationBoundingRect = complicationDrawable.getBounds();

            if (complicationBoundingRect.width() > 0) {
                if (complicationBoundingRect.contains(x, y)) {
                    return COMPLICATION_ID;
                }
            } else {
                Log.e(TAG, "Not a recognized complication id.");
            }
        }
    }
    return -1;
}
 
开发者ID:Nxt3,项目名称:IO_Classic_WatchFace,代码行数:36,代码来源:IOClassicWatchFaceService.java

示例6: onComplicationDataUpdate

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
/**
 * Called when there is updated data for the complication
 *
 * @param complicationId   id of the complication to update data for
 * @param complicationData data to update the complication with
 */
@Override
public void onComplicationDataUpdate(int complicationId,
                                     ComplicationData complicationData) {
    //Adds/updates active complication data in the array.
    mActiveComplicationDataSparseArray.put(complicationId, complicationData);

    //Updates correct ComplicationDrawable with updated data.
    final ComplicationDrawable complicationDrawable
            = mComplicationDrawableSparseArray.get(complicationId);
    complicationDrawable.setComplicationData(complicationData);

    invalidate();
}
 
开发者ID:Nxt3,项目名称:IO_Classic_WatchFace,代码行数:20,代码来源:IOClassicWatchFaceService.java

示例7: onComplicationDataUpdate

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
@Override
public void onComplicationDataUpdate(
        int complicationId, ComplicationData complicationData) {
    Log.d(TAG, "onComplicationDataUpdate() id: " + complicationId);

    // Adds/updates active complication data in the array.
    mActiveComplicationDataSparseArray.put(complicationId, complicationData);

    // Updates correct ComplicationDrawable with updated data.
    ComplicationDrawable complicationDrawable =
            mComplicationDrawableSparseArray.get(complicationId);
    complicationDrawable.setComplicationData(complicationData);

    invalidate();
}
 
开发者ID:googlecodelabs,项目名称:complications,代码行数:16,代码来源:ComplicationWatchFaceService.java

示例8: getTappedComplicationId

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
private int getTappedComplicationId(int x, int y) {

            int complicationId;
            ComplicationData complicationData;
            ComplicationDrawable complicationDrawable;

            long currentTimeMillis = System.currentTimeMillis();

            for (int i = 0; i < COMPLICATION_IDS.length; i++) {
                complicationId = COMPLICATION_IDS[i];
                complicationData = mActiveComplicationDataSparseArray.get(complicationId);

                if ((complicationData != null)
                        && (complicationData.isActive(currentTimeMillis))
                        && (complicationData.getType() != ComplicationData.TYPE_NOT_CONFIGURED)
                        && (complicationData.getType() != ComplicationData.TYPE_EMPTY)) {

                    complicationDrawable = mComplicationDrawableSparseArray.get(complicationId);
                    Rect complicationBoundingRect = complicationDrawable.getBounds();

                    if (complicationBoundingRect.width() > 0) {
                        if (complicationBoundingRect.contains(x, y)) {
                            return complicationId;
                        }
                    } else {
                        Log.e(TAG, "Not a recognized complication id.");
                    }
                }
            }
            return -1;
        }
 
开发者ID:googlecodelabs,项目名称:complications,代码行数:32,代码来源:ComplicationWatchFaceService.java

示例9: onComplicationTap

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
private void onComplicationTap(int complicationId) {
    // TODO: Step 5, onComplicationTap()
    Log.d(TAG, "onComplicationTap()");

    ComplicationData complicationData =
            mActiveComplicationDataSparseArray.get(complicationId);

    if (complicationData != null) {

        if (complicationData.getTapAction() != null) {
            try {
                complicationData.getTapAction().send();
            } catch (PendingIntent.CanceledException e) {
                Log.e(TAG, "onComplicationTap() tap action error: " + e);
            }

        } else if (complicationData.getType() == ComplicationData.TYPE_NO_PERMISSION) {

            // Watch face does not have permission to receive complication data, so launch
            // permission request.
            ComponentName componentName =
                    new ComponentName(
                            getApplicationContext(), ComplicationWatchFaceService.class);

            Intent permissionRequestIntent =
                    ComplicationHelperActivity.createPermissionRequestHelperIntent(
                            getApplicationContext(), componentName);

            startActivity(permissionRequestIntent);
        }

    } else {
        Log.d(TAG, "No PendingIntent for complication " + complicationId + ".");
    }
}
 
开发者ID:googlecodelabs,项目名称:complications,代码行数:36,代码来源:ComplicationWatchFaceService.java

示例10: onComplicationTap

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
private void onComplicationTap(int complicationId) {
    // TODO: Step 5, onComplicationTap()
    Log.d(TAG, "onComplicationTap()");

    ComplicationData complicationData =
            mActiveComplicationDataSparseArray.get(complicationId);

    if (complicationData != null) {

        if (complicationData.getTapAction() != null) {
            try {
                complicationData.getTapAction().send();
            } catch (PendingIntent.CanceledException e) {
                Log.e(TAG, "onComplicationTap() tap action error: " + e);
            }

        } else if (complicationData.getType() == ComplicationData.TYPE_NO_PERMISSION) {

            // Watch face does not have permission to receive complication data, so launch
            // permission request.
            ComponentName componentName = new ComponentName(
                    getApplicationContext(),
                    ComplicationWatchFaceService.class);

            Intent permissionRequestIntent =
                    ComplicationHelperActivity.createPermissionRequestHelperIntent(
                            getApplicationContext(), componentName);

            startActivity(permissionRequestIntent);
        }

    } else {
        Log.d(TAG, "No PendingIntent for complication " + complicationId + ".");
    }
}
 
开发者ID:googlecodelabs,项目名称:complications,代码行数:36,代码来源:ComplicationWatchFaceService.java

示例11: onComplicationUpdate

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
@Override
public void onComplicationUpdate(int complicationId, int type, ComplicationManager manager) {
    if (type != ComplicationData.TYPE_SMALL_IMAGE) {
        manager.noUpdateRequired(complicationId);
        return;
    }

    ComponentName thisProvider = new ComponentName(this, getClass());
    PendingIntent complicationTogglePendingIntent =
            ComplicationToggleReceiver.getToggleIntent(this, thisProvider, complicationId);

    SharedPreferences preferences =
            getSharedPreferences(ComplicationToggleReceiver.PREFERENCES_NAME, 0);
    int state =
            preferences.getInt(
                    ComplicationToggleReceiver.getPreferenceKey(thisProvider, complicationId),
                    0);

    ComplicationData data = null;
    switch (state % 2) {
        case 0:
            // An image using IMAGE_STYLE_PHOTO may be cropped to fill the space given to it.
            data =
                    new ComplicationData.Builder(type)
                            .setSmallImage(Icon.createWithResource(this, R.drawable.aquarium))
                            .setImageStyle(ComplicationData.IMAGE_STYLE_PHOTO)
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
        case 1:
            // An image using IMAGE_STYLE_ICON must not be cropped, and should fit within the
            // space given to it.
            data =
                    new ComplicationData.Builder(type)
                            .setSmallImage(
                                    Icon.createWithResource(this, R.drawable.ic_launcher))
                            .setImageStyle(ComplicationData.IMAGE_STYLE_ICON)
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
    }
    manager.updateComplicationData(complicationId, data);
}
 
开发者ID:googlesamples,项目名称:android-WearComplicationProvidersTestSuite,代码行数:44,代码来源:SmallImageProviderService.java

示例12: onComplicationUpdate

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
@Override
public void onComplicationUpdate(int complicationId, int type, ComplicationManager manager) {
    if (type != ComplicationData.TYPE_LARGE_IMAGE) {
        manager.noUpdateRequired(complicationId);
        return;
    }

    ComponentName thisProvider = new ComponentName(this, getClass());

    // On many watch faces a large image complication might not respond to taps as the
    // complication is used to provide the background for the watch. Providers should not rely
    // on tap functionality for large image complications, but the tap action is still included
    // here in case it is supported.
    PendingIntent complicationTogglePendingIntent =
            ComplicationToggleReceiver.getToggleIntent(this, thisProvider, complicationId);

    SharedPreferences preferences =
            getSharedPreferences(ComplicationToggleReceiver.PREFERENCES_NAME, 0);
    int state =
            preferences.getInt(
                    ComplicationToggleReceiver.getPreferenceKey(thisProvider, complicationId),
                    0);

    ComplicationData data = null;
    switch (state % 2) {
        case 0:
            data =
                    new ComplicationData.Builder(type)
                            .setLargeImage(Icon.createWithResource(this, R.drawable.aquarium))
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
        case 1:
            data =
                    new ComplicationData.Builder(type)
                            .setLargeImage(Icon.createWithResource(this, R.drawable.outdoors))
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
    }
    manager.updateComplicationData(complicationId, data);
}
 
开发者ID:googlesamples,项目名称:android-WearComplicationProvidersTestSuite,代码行数:43,代码来源:LargeImageProviderService.java

示例13: onComplicationUpdate

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
public void onComplicationUpdate(int complicationId, int type, ComplicationManager manager) {
    ComplicationData data = new ComplicationData.Builder(ComplicationData.TYPE_NO_DATA).build();
    manager.updateComplicationData(complicationId, data);
}
 
开发者ID:googlesamples,项目名称:android-WearComplicationProvidersTestSuite,代码行数:5,代码来源:NoDataProviderService.java

示例14: onComplicationUpdate

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
@Override
public void onComplicationUpdate(int complicationId, int type, ComplicationManager manager) {
    if (type != ComplicationData.TYPE_ICON) {
        manager.noUpdateRequired(complicationId);
        return;
    }

    ComponentName thisProvider = new ComponentName(this, getClass());
    PendingIntent complicationTogglePendingIntent =
            ComplicationToggleReceiver.getToggleIntent(this, thisProvider, complicationId);

    SharedPreferences preferences =
            getSharedPreferences(ComplicationToggleReceiver.PREFERENCES_NAME, 0);

    int state =
            preferences.getInt(
                    ComplicationToggleReceiver.getPreferenceKey(thisProvider, complicationId),
                    0);

    ComplicationData data = null;
    switch (state % 3) {
        case 0:
            data =
                    new ComplicationData.Builder(type)
                            .setIcon(
                                    Icon.createWithResource(
                                            this, R.drawable.ic_face_vd_theme_24))
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
        case 1:
            // This case includes a burn-in protection icon. If the screen uses burn-in
            // protection, that icon (which avoids solid blocks of color) should be shown in
            // ambient mode.
            data =
                    new ComplicationData.Builder(type)
                            .setIcon(Icon.createWithResource(this, R.drawable.ic_battery))
                            .setBurnInProtectionIcon(
                                    Icon.createWithResource(
                                            this, R.drawable.ic_battery_burn_protect))
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
        case 2:
            data =
                    new ComplicationData.Builder(type)
                            .setIcon(
                                    Icon.createWithResource(
                                            this, R.drawable.ic_event_vd_theme_24))
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
    }
    manager.updateComplicationData(complicationId, data);
}
 
开发者ID:googlesamples,项目名称:android-WearComplicationProvidersTestSuite,代码行数:56,代码来源:IconProviderService.java

示例15: onComplicationUpdate

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
@Override
public void onComplicationUpdate(int complicationId, int type, ComplicationManager manager) {
    if (type != ComplicationData.TYPE_SHORT_TEXT) {
        manager.noUpdateRequired(complicationId);
        return;
    }

    ComponentName thisProvider = new ComponentName(this, getClass());
    PendingIntent complicationTogglePendingIntent =
            ComplicationToggleReceiver.getToggleIntent(this, thisProvider, complicationId);

    SharedPreferences preferences =
            getSharedPreferences(ComplicationToggleReceiver.PREFERENCES_NAME, 0);
    int state =
            preferences.getInt(
                    ComplicationToggleReceiver.getPreferenceKey(thisProvider, complicationId),
                    0);

    ComplicationData data = null;
    switch (state % 4) {
        case 0:
            data =
                    new ComplicationData.Builder(type)
                            .setShortText(
                                    ComplicationText.plainText(
                                            getString(R.string.short_text_only)))
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
        case 1:
            data =
                    new ComplicationData.Builder(type)
                            .setShortText(
                                    ComplicationText.plainText(
                                            getString(R.string.short_text_with_icon)))
                            .setIcon(
                                    Icon.createWithResource(
                                            this, R.drawable.ic_face_vd_theme_24))
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
        case 2:
            data =
                    new ComplicationData.Builder(type)
                            .setShortText(
                                    ComplicationText.plainText(
                                            getString(R.string.short_text_with_title)))
                            .setShortTitle(
                                    ComplicationText.plainText(getString(R.string.short_title)))
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
        case 3:
            // When short text includes both short title and icon, the watch face should only
            // display one of those fields.
            data =
                    new ComplicationData.Builder(type)
                            .setShortText(
                                    ComplicationText.plainText(
                                            getString(R.string.short_text_with_both)))
                            .setShortTitle(
                                    ComplicationText.plainText(getString(R.string.short_title)))
                            .setIcon(
                                    Icon.createWithResource(
                                            this, R.drawable.ic_face_vd_theme_24))
                            .setTapAction(complicationTogglePendingIntent)
                            .build();
            break;
    }
    manager.updateComplicationData(complicationId, data);
}
 
开发者ID:googlesamples,项目名称:android-WearComplicationProvidersTestSuite,代码行数:72,代码来源:ShortTextProviderService.java


注:本文中的android.support.wearable.complications.ComplicationData类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。