import java.util.*; import java.util.zip.*; import java.util.List; import java.util.regex.*; import java.util.concurrent.*; import java.util.concurrent.atomic.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.text.*; import javax.swing.table.*; import java.io.*; import java.net.*; import java.lang.reflect.*; import java.lang.ref.*; import java.lang.management.*; import java.security.*; import java.security.spec.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import javax.imageio.*; import java.math.*; import android.app.*; import android.content.*; import android.app.Activity; public class main { public static void main(String[] args) throws Exception { // old style // androidEnableRepeatingAlarm(5000, 10000, "#1004170".substring(1)); // new style - full JavaX functionality! androidEnableRepeatingAlarm(5000, 10000, "#1004174".substring(1)); print("Alarm set."); } static volatile StringBuffer local_log = new StringBuffer(); // not redirected static volatile StringBuffer print_log = local_log; // might be redirected, e.g. to main bot // in bytes - will cut to half that static volatile int print_log_max = 1024*1024; static volatile int local_log_max = 100*1024; static boolean print_silent; // total mute if set static void print() { print(""); } // slightly overblown signature to return original object... static A print(A o) { if (print_silent) return o; String s = String.valueOf(o) + "\n"; StringBuffer loc = local_log; StringBuffer buf = print_log; int loc_max = print_log_max; if (buf != loc && buf != null) { print_append(buf, s, print_log_max); loc_max = local_log_max; } if (loc != null) print_append(loc, s, loc_max); System.out.print(s); return o; } static void print(long l) { print(String.valueOf(l)); } static void print(char c) { print(String.valueOf(c)); } static void print_append(StringBuffer buf, String s, int max) { synchronized(buf) { buf.append(s); max /= 2; if (buf.length() > max) try { int newLength = max/2; int ofs = buf.length()-newLength; String newString = buf.substring(ofs); buf.setLength(0); buf.append("[...] ").append(newString); } catch (Exception e) { buf.setLength(0); } } } static void androidEnableRepeatingAlarm(int firstDelayMS, int repeatingDelayMS, String alarmSnippetID) { try { Activity context = androidContext(); AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); Class receiverClass = Class.forName("de.tinybrain.javax_allperms.AlarmManagerReceiver"); Intent intent = new Intent(context, receiverClass); intent.putExtra("snippetID", alarmSnippetID); PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0); am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+firstDelayMS, repeatingDelayMS, pi); } catch (Throwable __e) { throw __e instanceof RuntimeException ? (RuntimeException) __e : new RuntimeException(__e); }} static Activity androidContext() { return getAndroidContext(); } static Activity androidContext; static Activity getAndroidContext() { return androidContext; } }