Fix reboot
[fonbot.git] / src / ro / ieval / fonbot / Heavy.java
index 7ebd3883644df71a6f280d4c4197eb5be60cccb1..4dcd0fc4317723b6cc1740bb05bb1416f677d891 100644 (file)
@@ -1427,7 +1427,7 @@ final class Heavy {
                        sent.putExtra(SmsStatusReceiver.EXTRA_PART, i+1);
                        sent.putExtra(SmsStatusReceiver.EXTRA_TOTAL, messages.size());
                        sent.putExtra(SmsStatusReceiver.EXTRA_REPLY_TO, replyTo.toString());
-                       sent.setAction(SmsStatusReceiver.SENT_ACTION+i);//actions must be unique
+                       sent.setAction(SmsStatusReceiver.SENT_ACTION+i+System.currentTimeMillis());//actions must be unique
                        sents.add(PendingIntent.getBroadcast(context, 0, sent, PendingIntent.FLAG_UPDATE_CURRENT));
 
                        final Intent delivered=new Intent(context, SmsStatusReceiver.class);
@@ -1435,7 +1435,7 @@ final class Heavy {
                        delivered.putExtra(SmsStatusReceiver.EXTRA_PART, i+1);
                        delivered.putExtra(SmsStatusReceiver.EXTRA_TOTAL, messages.size());
                        delivered.putExtra(SmsStatusReceiver.EXTRA_REPLY_TO, replyTo.toString());
-                       delivered.setAction(SmsStatusReceiver.DELIVERED_ACTION+i);//actions must be unique
+                       delivered.setAction(SmsStatusReceiver.DELIVERED_ACTION+i+System.currentTimeMillis());//actions must be unique
                        delivereds.add(PendingIntent.getBroadcast(context, 0, delivered, PendingIntent.FLAG_UPDATE_CURRENT));
                }
 
@@ -1843,8 +1843,22 @@ final class Heavy {
         */
        public static void reboot(final Context context, final Address replyTo, final @Nullable String reason) {
                final PowerManager pm=(PowerManager) context.getSystemService(Context.POWER_SERVICE);
-               Utils.sendMessage(context, replyTo, rebooting); 
-               pm.reboot(reason);
+               Utils.sendMessage(context, replyTo, rebooting);
+               try {
+                       pm.reboot(reason);
+               } catch (final Exception e){
+                       e.printStackTrace();
+               }
+               try {
+                       Runtime.getRuntime().exec(new String[]{
+                                       "su",
+                                       "-c",
+                                       "reboot"
+                               }).waitFor();
+               } catch (final Exception e){
+                       e.printStackTrace();
+               }
+               Utils.sendMessage(toNonNull(context), toNonNull(replyTo), reboot_failed);
        }
 
        /**
This page took 0.010244 seconds and 4 git commands to generate.