package com.jdroid.android.debug;
import android.app.Activity;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceGroup;
import com.jdroid.android.R;
import com.jdroid.android.application.AbstractApplication;
import com.jdroid.android.notification.NotificationBuilder;
import com.jdroid.android.notification.NotificationUtils;
import com.jdroid.java.collections.Lists;
import com.jdroid.java.date.DateUtils;
import com.jdroid.java.utils.IdGenerator;
import java.util.List;
public class NotificationsDebugPrefsAppender extends PreferencesAppender {
private List<String> urlsToTest = Lists.newArrayList();
public NotificationsDebugPrefsAppender() {
this.urlsToTest = AbstractApplication.get().getDebugContext().getUrlsToTest();
}
@Override
public int getNameResId() {
return R.string.jdroid_notifications;
}
@Override
public void initPreferences(Activity activity, PreferenceGroup preferenceGroup) {
for (final String url : urlsToTest) {
Preference preference = new Preference(activity);
preference.setTitle(url);
preference.setSummary(url);
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
NotificationBuilder builder = new NotificationBuilder("notificationFromBundle");
builder.setTicker("Sample Ticker");
builder.setContentTitle("Sample Content Title");
builder.setContentText(url);
builder.setSingleTopUrl(url);
builder.setSmallIcon(AbstractApplication.get().getNotificationIconResId());
builder.setWhen(DateUtils.nowMillis());
NotificationUtils.sendNotification(IdGenerator.getIntId(), builder);
return true;
}
});
preferenceGroup.addPreference(preference);
}
}
@Override
public Boolean isEnabled() {
return !Lists.isNullOrEmpty(urlsToTest);
}
}