1 /* 2 * Copyright (C) 2014 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.example.android.support.wearable.notifications; 18 19 import android.app.Notification; 20 import android.support.v4.app.NotificationCompat; 21 22 /** 23 * Collection of notification priority presets. 24 */ 25 public class PriorityPresets { 26 public static final PriorityPreset DEFAULT = new SimplePriorityPreset( 27 R.string.default_priority, Notification.PRIORITY_DEFAULT); 28 29 public static final PriorityPreset[] PRESETS = new PriorityPreset[] { 30 new SimplePriorityPreset(R.string.min_priority, Notification.PRIORITY_MIN), 31 new SimplePriorityPreset(R.string.low_priority, Notification.PRIORITY_LOW), 32 DEFAULT, 33 new SimplePriorityPreset(R.string.high_priority, Notification.PRIORITY_HIGH), 34 new SimplePriorityPreset(R.string.max_priority, Notification.PRIORITY_MAX) 35 }; 36 37 /** 38 * Simple notification priority preset that sets a priority using 39 * {@link android.support.v4.app.NotificationCompat.Builder#setPriority} 40 */ 41 private static class SimplePriorityPreset extends PriorityPreset { 42 private final int mPriority; 43 SimplePriorityPreset(int nameResId, int priority)44 public SimplePriorityPreset(int nameResId, int priority) { 45 super(nameResId); 46 mPriority = priority; 47 } 48 49 @Override apply(NotificationCompat.Builder builder, NotificationCompat.WearableExtender wearableOptions)50 public void apply(NotificationCompat.Builder builder, 51 NotificationCompat.WearableExtender wearableOptions) { 52 builder.setPriority(mPriority); 53 } 54 } 55 } 56