OSDN Git Service

StatusFlag適応中
authorYuji Konishi <yuji.k64613@gmail.com>
Mon, 1 Aug 2011 15:45:37 +0000 (00:45 +0900)
committerYuji Konishi <yuji.k64613@gmail.com>
Mon, 1 Aug 2011 15:45:37 +0000 (00:45 +0900)
workspace/SelfStalker/bin/SelfStalker.apk
workspace/SelfStalker/bin/resources.ap_
workspace/TrainDelayed/src/com/td/TrainDelayedActivity.java
workspace/TrainDelayed/src/com/td/broadcast/DelayReceiver.java
workspace/TrainDelayed/src/com/td/service/TrainService.java
workspace/TrainDelayed/src/com/td/utility/StatusFlag.java
workspace/TrainDelayed/src/com/td/utility/StatusFlagTest.java
workspace/TrainDelayed/src/com/td/wait/TrainServiceWaiting.java

index 061bfc8..93e2be3 100644 (file)
Binary files a/workspace/SelfStalker/bin/SelfStalker.apk and b/workspace/SelfStalker/bin/SelfStalker.apk differ
index 17b6bdd..a6b5f8c 100644 (file)
Binary files a/workspace/SelfStalker/bin/resources.ap_ and b/workspace/SelfStalker/bin/resources.ap_ differ
index 0e167ad..fb76d72 100644 (file)
@@ -25,9 +25,11 @@ import com.td.db.Train;
 import com.td.db.TrainDao;
 import com.td.service.SchedulerTest;
 import com.td.service.TrainDelayedServiceImpl;
+import com.td.service.TrainService;
 import com.td.utility.BaseActivity;
 import com.td.utility.Debug;
 import com.td.utility.EditPrefUtil;
+import com.td.utility.StatusFlag;
 import com.td.utility.StatusFlagTest;
 import com.td.wait.InitializeWating;
 import com.td.wait.TrainServiceWaiting;
@@ -57,6 +59,12 @@ public class TrainDelayedActivity extends BaseActivity {
        private int prefSvsStatus;
        private boolean isClick = false;
 
+       // \88ê\82©\8f\8a\82É\92è\8b`\82µ\82½\82¢
+       // \8fC\90³
+       //pref.put(TrainDelayedServiceImpl.PREF_SVS_STATUS
+       private StatusFlag tsSf = new StatusFlag(this,
+                       TrainService.class.getName(), StatusFlag.TERM_30M);
+
        private BroadcastReceiver receiver = new BroadcastReceiver(){
                @Override
                public void onReceive(Context context, Intent intent) {
@@ -68,6 +76,9 @@ public class TrainDelayedActivity extends BaseActivity {
                        else if (action.compareTo(DelayReceiver.STOP_SERVICE) == 0){
                                // \96¢\8eg\97p
                        }
+                       else if (action.compareTo(DelayReceiver.UPDATE) == 0){
+                               setStatus();
+                       }
                }               
        };
        
@@ -79,11 +90,14 @@ public class TrainDelayedActivity extends BaseActivity {
                IntentFilter intentFilter = new IntentFilter();
                intentFilter.addAction(DelayReceiver.START_SERVICE);
                intentFilter.addAction(DelayReceiver.STOP_SERVICE);
+               intentFilter.addAction(DelayReceiver.UPDATE);
                registerReceiver(receiver, intentFilter);
              
                button1 = (Button) this.findViewById(R.id.button01);
                button1.setOnClickListener(new OnClickListener() {
                        public void onClick(View v) {
+                               tsSf.setOn();
+                               
                                Intent intent = new Intent(TrainDelayedActivity.this,
                                                (Class<?>) WaitActivity.class);
                                intent.putExtra(WaitActivity.CLASS,
@@ -286,6 +300,17 @@ public class TrainDelayedActivity extends BaseActivity {
                
                int msgNo = -1;
 
+               if (tsSf.isOn()){
+                       enabled1 = false;
+                       enabled2 = false;
+                       enabled3 = false;
+                       enabled4 = false;
+                       enabled5 = false;
+                       enabled6 = false;
+                       enabled7 = false;
+                       msgNo = 0;                                              
+               }
+               
                int count = TrainDao.getInstance().count();
                if (count <= 0){
                        enabled2 = false;
@@ -341,6 +366,10 @@ public class TrainDelayedActivity extends BaseActivity {
                button9.setEnabled(enabled9);
                
                switch (msgNo){
+               case 0:
+                       // TODO
+                       text = "\98H\90ü\82Ì\8fî\95ñ\82ð\8dX\90V\82µ\82Ä\82¢\82Ü\82·";
+                       break;
                case 1:
                        text = getString(R.string.update_route_msg);
                        color1 = c1;
@@ -403,7 +432,7 @@ public class TrainDelayedActivity extends BaseActivity {
        }
        
        private void debug(){
-               int n = 4;
+               int n = 5;
                
                switch (n){
                case 1:
@@ -427,6 +456,9 @@ public class TrainDelayedActivity extends BaseActivity {
                        // StatusFlag\82Ì\83e\83X\83g
                        StatusFlagTest.main(this);
                        break;
+               case 5:
+                       tsSf.setOff();
+                       break;
                default:
                        break;
                }
index c4dcee5..9ea4a0f 100644 (file)
@@ -10,6 +10,7 @@ public class DelayReceiver extends BroadcastReceiver {
        public static String DEBUG = "com.td.broadcast.DelayReceiver.DEBUG";\r
        public static String START_SERVICE = "com.td.broadcast.DelayReceiver.START_SERVICE";\r
        public static String STOP_SERVICE = "com.td.broadcast.DelayReceiver.STOP_SERVICE";\r
+       public static String UPDATE = "com.td.broadcast.DelayReceiver.UPDATE";\r
        \r
        @Override\r
        public void onReceive(Context context, Intent intent) {\r
@@ -25,5 +26,8 @@ public class DelayReceiver extends BroadcastReceiver {
                else if (action.equals(STOP_SERVICE)){\r
                        ;\r
                }\r
+               else if (action.equals(UPDATE)){\r
+                       ;\r
+               }\r
        }\r
 }\r
index bd3c68b..f4a472b 100644 (file)
@@ -7,9 +7,11 @@ import android.content.Intent;
 import android.os.IBinder;\r
 import android.os.RemoteException;\r
 \r
+import com.td.broadcast.DelayReceiver;\r
 import com.td.db.DatabaseHelper;\r
 import com.td.db.PrefectureDao;\r
 import com.td.utility.Debug;\r
+import com.td.utility.StatusFlag;\r
 import com.td.utility.TdException;\r
 import com.td.webapi.RouteUpdater;\r
 \r
@@ -26,6 +28,8 @@ public class TrainService extends Service {
                        Thread thread = new Thread(){\r
                                public void run(){\r
                                        boolean status = false;\r
+                                       StatusFlag tsSf = new StatusFlag(TrainService.this,\r
+                                                       TrainService.class.getName(), StatusFlag.TERM_30M);\r
                                        try {\r
                                                Debug.t(TrainService.this, "TrainService start");\r
 \r
@@ -41,6 +45,13 @@ public class TrainService extends Service {
                                                                callback = null;\r
                                                        }\r
                                                }\r
+                                               // \8fI\97¹\83t\83\89\83O\83Z\83b\83g\r
+                                               tsSf.setOff();\r
+                                               \r
+                                               // \8fI\97¹\92Ê\92m\r
+                                               Intent intent = new Intent(DelayReceiver.UPDATE);\r
+                                               TrainService.this.sendBroadcast(intent);                                                \r
+\r
                                                Debug.t(TrainService.this, "TrainService end");\r
                                        }\r
                                        catch (Exception e) {\r
index 3307095..a68f036 100644 (file)
@@ -8,6 +8,10 @@ import android.content.Context;
 public class StatusFlag {\r
        public static final int ON = 1;\r
        public static final int OFF = 0;\r
+\r
+       public static final int TERM_1M = 1;\r
+       public static final int TERM_30M = 30;\r
+       public static final int TERM_1H = 60;\r
        public static final int TERM_NONE = -1;\r
        \r
        private static final String PREF_STF_FLAG = "STF_FLAG";\r
@@ -16,11 +20,21 @@ public class StatusFlag {
        private Context context;\r
        private long term; // \95ª\r
        private EditPrefUtil pref;\r
+       private String key;\r
 \r
-       public StatusFlag(Context context, long term){\r
+       public StatusFlag(Context context, String id, long term){\r
                this.context = context;\r
                this.term = term;\r
                pref = new EditPrefUtil(context);\r
+               key = id + "_" + PREF_STF_FLAG;\r
+       }\r
+       \r
+       public void setOn(){\r
+               set(ON);\r
+       }\r
+       \r
+       public void setOff(){\r
+               set(OFF);\r
        }\r
        \r
        public void set(int flag){\r
@@ -36,7 +50,8 @@ public class StatusFlag {
                sb.append(DELM);\r
                sb.append(flag);\r
                \r
-               pref.put(PREF_STF_FLAG, sb.toString());\r
+               pref.put(key, sb.toString());\r
+               pref.update();\r
        }\r
        \r
        public int get(){\r
@@ -44,7 +59,7 @@ public class StatusFlag {
        }\r
        \r
        public int get(long term){\r
-               String s = pref.get(PREF_STF_FLAG);\r
+               String s = pref.get(key);\r
                if (s == null){\r
                        return OFF;\r
                }\r
index 3ee6f50..0415c01 100644 (file)
@@ -34,7 +34,8 @@ public class StatusFlagTest {
                                        eFlag = StatusFlag.OFF;\r
                                        break;\r
                                }\r
-                               sf = new StatusFlag(context, term);\r
+                               sf = new StatusFlag(context, StatusFlagTest.class.getName(),\r
+                                               term);\r
                                sf.set(flag);\r
                                Thread.sleep(slp * 60 * 1000);\r
                                ret = sf.get();\r
index 993df30..f4c207b 100644 (file)
@@ -14,6 +14,7 @@ import com.td.service.ITrainServiceCallback;
 import com.td.service.TrainService;\r
 \r
 public class TrainServiceWaiting extends WatingImpl implements ServiceConnection {\r
+       private static final String PREF_TSW_KEY = "KEY";\r
        private ITrainService serviceImpl;\r
        \r
        public void onStart(){\r
@@ -52,7 +53,8 @@ public class TrainServiceWaiting extends WatingImpl implements ServiceConnection
                        return;\r
                }\r
                int val = serviceImpl.doExecute("123");\r
-               Toast.makeText(context, "v=" + val, Toast.LENGTH_LONG).show();\r
+               Toast.makeText(context, "serviceImpl.doExecute() " + val,\r
+                               Toast.LENGTH_LONG).show();\r
        }\r
 \r
        private ITrainServiceCallback.Stub interfaceImpl = new ITrainServiceCallback.Stub() {\r