// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.olio.communication.notifications.mappers; import android.content.ContentResolver; import com.olio.communication.actions.AndroidActionBuilder; import com.olio.communication.actions.AndroidDismissActionBuilder; import com.olio.communication.actions.AndroidSBNActionBuilder; import com.olio.communication.actions.RemindMeLaterActionBuilder; import com.olio.communication.bluetooth.channel_messages.ANCSNotification; import com.olio.communication.messages.Message; import com.olio.communication.messages.MessageBuilder; import com.olio.communication.notifications.AndroidSBNContent; import com.olio.communication.notifications.NotificationFilters; import com.olio.communication.notifications.new_notifications.StreamItemBuilder; import com.olio.data.object.assistant.ApplicationDisplayMapperSettings; import com.olio.data.object.assistant.DisplayMapperSetting; import com.olio.data.object.assistant.DisplayMapperSettings; import java.util.LinkedList; import java.util.List; import java.util.Map; // Referenced classes of package com.olio.communication.notifications.mappers: // DisplaySettingsMapper public class DisplaySettingsApplicationMapper extends DisplaySettingsMapper { private static final String ACTION_DESTINATION = "android"; private static final String DISMISS_TITLE = "Dismiss"; public static final String NOTIFICATION_DETECTOR_INTENT_FILTER = "com.oliodevices.NotificationDetector"; private static final String REMIND_ME_LATER_TITLE = "Remind me later"; private ContentResolver contentResolver; public DisplaySettingsApplicationMapper(ContentResolver contentresolver) { contentResolver = contentresolver; } private void handleANCSNotification(StreamItemBuilder streamitembuilder, ANCSNotification ancsnotification, DisplayMapperSettings displaymappersettings) { ancsnotification = (DisplayMapperSetting)displaymappersettings.getSettingsMap().get(ancsnotification.getAppName()); if (ancsnotification != null) { if (ancsnotification.getCategory() != null) { streamitembuilder.setNotificationCategory(ancsnotification.getCategory()); } if (ancsnotification.getDisplayType() != null) { streamitembuilder.setDisplayType(ancsnotification.getDisplayType()); } if (ancsnotification.getVibrationType() != null) { streamitembuilder.setVibrationType(ancsnotification.getVibrationType()); } if (ancsnotification.getStreamType() != null) { streamitembuilder.setStreamType(ancsnotification.getStreamType()); } } } private void handleAndroidSBNContent(StreamItemBuilder streamitembuilder, AndroidSBNContent androidsbncontent, DisplayMapperSettings displaymappersettings) { DisplayMapperSetting displaymappersetting = (DisplayMapperSetting)displaymappersettings.getSettingsMap().get(androidsbncontent.getPackageName()); DisplayMapperSetting displaymappersetting1 = displaymappersettings.getDefaultSetting(); com.olio.communication.notifications.NotificationFilters.Category category = NotificationFilters.fromName(androidsbncontent.getCategory()); displaymappersettings = category; if (displaymappersetting != null) { displaymappersettings = category; if (displaymappersetting.getCategory() != null) { displaymappersettings = displaymappersetting.getCategory(); } } streamitembuilder.setNotificationId(generateNotificationId(androidsbncontent)); streamitembuilder.setNotificationCategory(displaymappersettings); applyDisplaySettings(streamitembuilder, displaymappersetting, displaymappersetting1); applyAndroidSpecificDisplaySettings(streamitembuilder, androidsbncontent, displaymappersetting, displaymappersetting1); streamitembuilder.setDismissAction(getDismissAction(androidsbncontent)); streamitembuilder.setActions(getAppActions(androidsbncontent)); streamitembuilder.addActionToActionList((new MessageBuilder()).setDestination("watch").setAction(com.olio.communication.messages.Message.Action.CREATE_OR_UPDATE).setPayload(RemindMeLaterActionBuilder.aRemindMeLaterAction().setNotificationId(generateNotificationId(androidsbncontent)).build()).build()); } public String generateNotificationId(AndroidSBNContent androidsbncontent) { return (new StringBuilder()).append(androidsbncontent.getPackageName()).append("-").append(androidsbncontent.getTag()).append("-").append(androidsbncontent.getId()).toString(); } public List getAppActions(AndroidSBNContent androidsbncontent) { LinkedList linkedlist = new LinkedList(); if (androidsbncontent.getActionTitles() != null) { String as[] = androidsbncontent.getActionTitles(); int k = as.length; int j = 0; for (int i = 0; j < k; i++) { String s = as[j]; linkedlist.add((new MessageBuilder()).setAction(com.olio.communication.messages.Message.Action.CREATE_OR_UPDATE).setDestination("phone").setPayload(((AndroidActionBuilder)((AndroidActionBuilder)AndroidSBNActionBuilder.anAndroidSBNAction().setType("").setActionId(androidsbncontent.getUniqueSBNId()).setActionIndex(i).setTag(androidsbncontent.getTag()).setNotificationId(androidsbncontent.getId()).setBroadcastFilter("com.oliodevices.NotificationDetector").setDestination("android")).setTitle(s)).build()).build()); j++; } } return linkedlist; } public Message getDismissAction(AndroidSBNContent androidsbncontent) { String s = androidsbncontent.getTag(); return (new MessageBuilder()).setAction(com.olio.communication.messages.Message.Action.CREATE_OR_UPDATE).setDestination("phone").setPayload(((AndroidActionBuilder)((AndroidActionBuilder)AndroidDismissActionBuilder.anAndroidDismissAction().setTag(s).setNotificationId(androidsbncontent.getId()).setNotificationKey(androidsbncontent.getKey()).setActionType("").setPackageName(androidsbncontent.getPackageName()).setBroadcastFilter("com.oliodevices.NotificationDetector").setDestination("android")).setTitle("Dismiss")).build()).build(); } public void map(StreamItemBuilder streamitembuilder, Object obj) { DisplayMapperSettings displaymappersettings = ApplicationDisplayMapperSettings.get(contentResolver); if (obj instanceof AndroidSBNContent) { handleAndroidSBNContent(streamitembuilder, (AndroidSBNContent)obj, displaymappersettings); } else if (obj instanceof ANCSNotification) { handleANCSNotification(streamitembuilder, (ANCSNotification)obj, displaymappersettings); return; } } }