• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ComplicationData类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: onComplicationUpdate

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

    // Create Tap Action so that the user can trigger an update by tapping the complication.
    ComponentName thisProvider = new ComponentName(this, getClass());
    // We pass the complication id, so we can only update the specific complication tapped.
    PendingIntent complicationPendingIntent =
            ComplicationTapBroadcastReceiver.getToggleIntent(
                    this, thisProvider, complicationId);

    // Retrieves your data, in this case, we grab an incrementing number from SharedPrefs.
    SharedPreferences preferences =
            getSharedPreferences(
                    ComplicationTapBroadcastReceiver.COMPLICATION_PROVIDER_PREFERENCES_FILE_KEY,
                    0);
    int number =
            preferences.getInt(
                    ComplicationTapBroadcastReceiver.getPreferenceKey(
                            thisProvider, complicationId),
                    0);
    String numberText = String.format(Locale.getDefault(), "%d!", number);

    ComplicationData complicationData = null;

    switch (dataType) {
        case ComplicationData.TYPE_SHORT_TEXT:
            complicationData =
                    new ComplicationData.Builder(ComplicationData.TYPE_SHORT_TEXT)
                            .setShortText(ComplicationText.plainText(numberText))
                            .setTapAction(complicationPendingIntent)
                            .build();
            break;
        case ComplicationData.TYPE_LONG_TEXT:
            complicationData =
                    new ComplicationData.Builder(ComplicationData.TYPE_LONG_TEXT)
                            .setLongText(ComplicationText.plainText("Number: " + numberText))
                            .setTapAction(complicationPendingIntent)
                            .build();
            break;
        case ComplicationData.TYPE_RANGED_VALUE:
            complicationData =
                    new ComplicationData.Builder(ComplicationData.TYPE_RANGED_VALUE)
                            .setValue(number)
                            .setMinValue(0)
                            .setMaxValue(ComplicationTapBroadcastReceiver.MAX_NUMBER)
                            .setShortText(ComplicationText.plainText(numberText))
                            .setTapAction(complicationPendingIntent)
                            .build();
            break;
        default:
            if (Log.isLoggable(TAG, Log.WARN)) {
                Log.w(TAG, "Unexpected complication type " + dataType);
            }
    }

    if (complicationData != null) {
        complicationManager.updateComplicationData(complicationId, complicationData);

    } else {
        // If no data is sent, we still need to inform the ComplicationManager, so the update
        // job can finish and the wake lock isn't held any longer than necessary.
        complicationManager.noUpdateRequired(complicationId);
    }
}
 
开发者ID:googlecodelabs,项目名称:data-providers,代码行数:67,代码来源:CustomComplicationProviderService.java


示例17: onComplicationUpdate

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

    // Used to create a unique key to use with SharedPreferences for this complication.
    ComponentName thisProvider = new ComponentName(this, getClass());

    // Retrieves your data, in this case, we grab an incrementing number from SharedPrefs.
    SharedPreferences preferences =
            getSharedPreferences(
                    ComplicationTapBroadcastReceiver.COMPLICATION_PROVIDER_PREFERENCES_FILE_KEY,
                    0);
    int number =
            preferences.getInt(
                    ComplicationTapBroadcastReceiver.getPreferenceKey(
                            thisProvider, complicationId),
                    0);
    String numberText = String.format(Locale.getDefault(), "%d!", number);

    ComplicationData complicationData = null;

    switch (dataType) {
        case ComplicationData.TYPE_SHORT_TEXT:
            complicationData =
                    new ComplicationData.Builder(ComplicationData.TYPE_SHORT_TEXT)
                            .setShortText(ComplicationText.plainText(numberText))
                            .build();
            break;
        default:
            if (Log.isLoggable(TAG, Log.WARN)) {
                Log.w(TAG, "Unexpected complication type " + dataType);
            }
    }

    if (complicationData != null) {
        complicationManager.updateComplicationData(complicationId, complicationData);

    } else {
        // If no data is sent, we still need to inform the ComplicationManager, so the update
        // job can finish and the wake lock isn't held any longer than necessary.
        complicationManager.noUpdateRequired(complicationId);
    }
}
 
开发者ID:googlecodelabs,项目名称:data-providers,代码行数:45,代码来源:CustomComplicationProviderService.java


示例18: onComplicationUpdate

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

    // Create Tap Action so that the user can trigger an update by tapping the complication.
    ComponentName thisProvider = new ComponentName(this, getClass());
    // We pass the complication id, so we can only update the specific complication tapped.
    PendingIntent complicationPendingIntent =
            ComplicationTapBroadcastReceiver.getToggleIntent(
                    this, thisProvider, complicationId);

    // Retrieves your data, in this case, we grab an incrementing number from SharedPrefs.
    SharedPreferences preferences =
            getSharedPreferences(
                    ComplicationTapBroadcastReceiver.COMPLICATION_PROVIDER_PREFERENCES_FILE_KEY,
                    0);
    int number =
            preferences.getInt(
                    ComplicationTapBroadcastReceiver.getPreferenceKey(
                            thisProvider, complicationId),
                    0);
    String numberText = String.format(Locale.getDefault(), "%d!", number);

    ComplicationData complicationData = null;

    switch (dataType) {
        case ComplicationData.TYPE_SHORT_TEXT:
            complicationData =
                    new ComplicationData.Builder(ComplicationData.TYPE_SHORT_TEXT)
                            .setShortText(ComplicationText.plainText(numberText))
                            .setTapAction(complicationPendingIntent)
                            .build();
            break;
        case ComplicationData.TYPE_LONG_TEXT:
            complicationData =
                    new ComplicationData.Builder(ComplicationData.TYPE_LONG_TEXT)
                            .setLongText(ComplicationText.plainText("Number: " + numberText))
                            .setTapAction(complicationPendingIntent)
                            .build();
            break;
        default:
            if (Log.isLoggable(TAG, Log.WARN)) {
                Log.w(TAG, "Unexpected complication type " + dataType);
            }
    }

    if (complicationData != null) {
        complicationManager.updateComplicationData(complicationId, complicationData);

    } else {
        // If no data is sent, we still need to inform the ComplicationManager, so the update
        // job can finish and the wake lock isn't held any longer than necessary.
        complicationManager.noUpdateRequired(complicationId);
    }
}
 
开发者ID:googlecodelabs,项目名称:data-providers,代码行数:57,代码来源:CustomComplicationProviderService.java


示例19: onComplicationUpdate

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

    // Create Tap Action so that the user can trigger an update by tapping the complication.
    ComponentName thisProvider = new ComponentName(this, getClass());
    // We pass the complication id, so we can only update the specific complication tapped.
    PendingIntent complicationPendingIntent =
            ComplicationTapBroadcastReceiver.getToggleIntent(
                    this, thisProvider, complicationId);

    // Retrieves your data, in this case, we grab an incrementing number from SharedPrefs.
    SharedPreferences preferences =
            getSharedPreferences(
                    ComplicationTapBroadcastReceiver.COMPLICATION_PROVIDER_PREFERENCES_FILE_KEY,
                    0);
    int number =
            preferences.getInt(
                    ComplicationTapBroadcastReceiver.getPreferenceKey(
                            thisProvider, complicationId),
                    0);
    String numberText = String.format(Locale.getDefault(), "%d!", number);

    ComplicationData complicationData = null;

    switch (dataType) {
        case ComplicationData.TYPE_SHORT_TEXT:
            complicationData =
                    new ComplicationData.Builder(ComplicationData.TYPE_SHORT_TEXT)
                            .setShortText(ComplicationText.plainText(numberText))
                            .setTapAction(complicationPendingIntent)
                            .build();
            break;
        default:
            if (Log.isLoggable(TAG, Log.WARN)) {
                Log.w(TAG, "Unexpected complication type " + dataType);
            }
    }

    if (complicationData != null) {
        complicationManager.updateComplicationData(complicationId, complicationData);

    } else {
        // If no data is sent, we still need to inform the ComplicationManager, so the update
        // job can finish and the wake lock isn't held any longer than necessary.
        complicationManager.noUpdateRequired(complicationId);
    }
}
 
开发者ID:googlecodelabs,项目名称:data-providers,代码行数:50,代码来源:CustomComplicationProviderService.java


示例20: updateData

import android.support.wearable.complications.ComplicationData; //导入依赖的package包/类
public static boolean updateData(Context context, Bundle data, boolean connected) {
    if(serviceInstance == null) {
        Log.i(LOGTAG, "updateData: serviceInstance is null. Do nothing.");
        return false;
    }

    int iconRes;
    String title;
    if(data == null) {
        // we show 'loading' or 'offline':
        iconRes = connected ? R.drawable.ic_launcher : R.drawable.offline;
        title = connected ? context.getString(R.string.loading) : context.getString(R.string.offline);
    }
    else {
        ConnectionData conData = ConnectionData.fromBundle(context, data);
        Log.d(LOGTAG, "updateData: " + conData.toString());

        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        boolean showNetworkName = preferences.getBoolean(context.getString(R.string.pref_showNetworkName), true);
        boolean showSignalStrength = preferences.getBoolean(context.getString(R.string.pref_showSignalStrength), true);
        int cellularSignalStrengthUnit = Integer.valueOf(preferences.getString(context.getString(R.string.pref_cellularSignalStrengthUnit), "0"));
        int wifiSignalStrengthUnit = Integer.valueOf(preferences.getString(context.getString(R.string.pref_wifiSignalStrengthUnit), "0"));

        iconRes = conData.getIndicatorIconRes();
        if (iconRes < 0)
            iconRes = R.drawable.ic_launcher;

        title = "";
        if (showSignalStrength)
            title += conData.getPrimarySignalStrength(conData.getConnectionState() == ConnectionData.STATE_WIFI ?
                    wifiSignalStrengthUnit : cellularSignalStrengthUnit) + " ";
        if (showNetworkName)
            title += conData.getPrimaryNetworkName();
        if (title.length() == 0)
            title = "";
    }

    Log.d(LOGTAG, "updateData: called, title=" + title + "  debugCounter=" + debugCounter);

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

    ComplicationData complicationData = new ComplicationData.Builder(ComplicationData.TYPE_SHORT_TEXT)
            .setShortText(ComplicationText.plainText(title))
            .setIcon(Icon.createWithResource(serviceInstance, iconRes))
            .setTapAction(PendingIntent.getActivity(serviceInstance, 0, intent, 0))
            .build();

    complicationManager.updateComplicationData(complicationId, complicationData);

    debugCounter++;
    return true;
}
 
开发者ID:demantz,

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java BlockReaderFactory类代码示例发布时间:2022-05-22
下一篇:
Java RunningState类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap