OSDN Git Service

logout
authorYuji Konishi <yuji.k64613@gmail.com>
Fri, 21 Sep 2012 14:46:20 +0000 (23:46 +0900)
committerYuji Konishi <yuji.k64613@gmail.com>
Fri, 21 Sep 2012 14:46:20 +0000 (23:46 +0900)
source/workspace/EverFolder/gen/com/yuji/ef/R.java
source/workspace/EverFolder/res/layout/setting.xml
source/workspace/EverFolder/res/values-ja/strings.xml
source/workspace/EverFolder/res/values/strings.xml
source/workspace/EverFolder/src/com/yuji/ef/SettingActivity.java
source/workspace/EverFolder/src/com/yuji/ef/utility/OAuthUtil.java

index 45c8678..9bc3698 100644 (file)
@@ -47,17 +47,18 @@ public final class R {
         public static final int mainMsgOkButton=0x7f080009;
         public static final int rightButton=0x7f08000f;
         public static final int scrollView=0x7f08000b;
-        public static final int settingBookButton=0x7f080014;
-        public static final int settingCloseButton=0x7f08001a;
+        public static final int settingBookButton=0x7f080015;
+        public static final int settingCloseButton=0x7f08001b;
         public static final int settingConfirmMsg=0x7f080011;
-        public static final int settingListButton=0x7f080013;
+        public static final int settingListButton=0x7f080014;
         public static final int settingLoginButton=0x7f080012;
+        public static final int settingLogoutButton=0x7f080013;
         public static final int settingMsgLayout=0x7f080010;
-        public static final int settingUpdateButton=0x7f080015;
-        public static final int settingUpdateDateLayout=0x7f080017;
-        public static final int settingUpdateDateText=0x7f080019;
-        public static final int settingUpdateSpinner=0x7f080016;
-        public static final int settingUpdateTitle=0x7f080018;
+        public static final int settingUpdateButton=0x7f080016;
+        public static final int settingUpdateDateLayout=0x7f080018;
+        public static final int settingUpdateDateText=0x7f08001a;
+        public static final int settingUpdateSpinner=0x7f080017;
+        public static final int settingUpdateTitle=0x7f080019;
         public static final int text2=0x7f080003;
     }
     public static final class layout {
@@ -68,21 +69,21 @@ public final class R {
         public static final int setting=0x7f030004;
     }
     public static final class string {
-        public static final int ErrorLogin=0x7f06002d;
-        public static final int ErrorNetwork=0x7f06002c;
-        public static final int ErrorSystem=0x7f06002e;
-        public static final int ErrorUpdate=0x7f06002b;
-        public static final int MenuAdd=0x7f060020;
-        public static final int MenuCut=0x7f06001e;
-        public static final int MenuDelete=0x7f060021;
-        public static final int MenuPaste=0x7f06001f;
-        public static final int MenuRename=0x7f060022;
-        public static final int MenuSetting=0x7f060023;
+        public static final int ErrorLogin=0x7f06002e;
+        public static final int ErrorNetwork=0x7f06002d;
+        public static final int ErrorSystem=0x7f06002f;
+        public static final int ErrorUpdate=0x7f06002c;
+        public static final int MenuAdd=0x7f060021;
+        public static final int MenuCut=0x7f06001f;
+        public static final int MenuDelete=0x7f060022;
+        public static final int MenuPaste=0x7f060020;
+        public static final int MenuRename=0x7f060023;
+        public static final int MenuSetting=0x7f060024;
         public static final int app_name=0x7f060000;
         public static final int cancelButton=0x7f060003;
         public static final int closeButton=0x7f060004;
-        public static final int dialogErrorTitle=0x7f060028;
-        public static final int dialogSystemError=0x7f060029;
+        public static final int dialogErrorTitle=0x7f060029;
+        public static final int dialogSystemError=0x7f06002a;
         public static final int mainAddMsg=0x7f060008;
         public static final int mainConfirmMsg=0x7f060006;
         public static final int mainConfirmTitle=0x7f060005;
@@ -92,28 +93,29 @@ public final class R {
         public static final int mainRightButton=0x7f06000c;
         public static final int mainUpdateMsg=0x7f060007;
         public static final int noButton=0x7f060002;
-        public static final int serviceUpdateDisableNetworkMsg=0x7f060024;
-        public static final int serviceUpdateNotLoggedkMsg=0x7f060025;
-        public static final int serviceUpdateReferenceDataMsg=0x7f060026;
-        public static final int serviceUpdateUnexpectedErrorkMsg=0x7f060027;
-        public static final int settingBookButton=0x7f060019;
-        public static final int settingBookTitle=0x7f060018;
+        public static final int serviceUpdateDisableNetworkMsg=0x7f060025;
+        public static final int serviceUpdateNotLoggedkMsg=0x7f060026;
+        public static final int serviceUpdateReferenceDataMsg=0x7f060027;
+        public static final int serviceUpdateUnexpectedErrorkMsg=0x7f060028;
+        public static final int settingBookButton=0x7f06001a;
+        public static final int settingBookTitle=0x7f060019;
         public static final int settingConfirmMsg=0x7f06000e;
         public static final int settingConfirmTitle=0x7f06000d;
         public static final int settingDoListMsg=0x7f060011;
         public static final int settingDoSelectMsg=0x7f060013;
         public static final int settingDoUpdateMsg=0x7f060012;
-        public static final int settingListButton=0x7f060017;
-        public static final int settingListTitle=0x7f060016;
+        public static final int settingListButton=0x7f060018;
+        public static final int settingListTitle=0x7f060017;
         public static final int settingLoginButton=0x7f060015;
         public static final int settingLoginMsg=0x7f060010;
         public static final int settingLoginTitle=0x7f060014;
-        public static final int settingUpdateButton=0x7f06001b;
-        public static final int settingUpdateDateTitle=0x7f06001d;
+        public static final int settingLogoutButton=0x7f060016;
+        public static final int settingUpdateButton=0x7f06001c;
+        public static final int settingUpdateDateTitle=0x7f06001e;
         public static final int settingUpdateMsg=0x7f06000f;
-        public static final int settingUpdateTimeTitle=0x7f06001c;
-        public static final int settingUpdateTitle=0x7f06001a;
-        public static final int toastSystem=0x7f06002a;
+        public static final int settingUpdateTimeTitle=0x7f06001d;
+        public static final int settingUpdateTitle=0x7f06001b;
+        public static final int toastSystem=0x7f06002b;
         public static final int yesButton=0x7f060001;
     }
     public static final class style {
index e39dd50..ff873bb 100644 (file)
                 android:layout_weight="1"
                 android:text="@+string/settingLoginButton" />
 
+            <Button
+                android:id="@+id/settingLogoutButton"
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="1dip"
+                android:layout_weight="1"
+                android:text="@+string/settingLogoutButton" />
+
             <TextView
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
index 2c56cf5..4be21c3 100644 (file)
@@ -39,6 +39,7 @@
     <string name="settingDoSelectMsg">ノートブックを選択して下さい</string>
     <string name="settingLoginTitle">ログイン</string>
     <string name="settingLoginButton">ログインする</string>
+    <string name="settingLogoutButton">ログアウトする</string>
     <string name="settingListTitle">ノートブック</string>
     <string name="settingListButton">ノートブックを取得する</string>
     <string name="settingBookTitle">同期するノートブック</string>
index ee9405d..68a873b 100644 (file)
@@ -39,6 +39,7 @@
     <string name="settingDoSelectMsg">Please select the notebook</string>
     <string name="settingLoginTitle">Login</string>
     <string name="settingLoginButton">Login</string>
+    <string name="settingLogoutButton">Logout</string>
     <string name="settingListTitle">Notebook</string>
     <string name="settingListButton">Get the notebook</string>
     <string name="settingBookTitle">Notebook</string>
index 8f90a4b..0e524cc 100644 (file)
@@ -44,6 +44,7 @@ public class SettingActivity extends BaseActivity implements LockListener {
        private LinearLayout msgLayout;
        private TextView confirmMsg;
        private Button loginButton;
+       private Button logoutButton;
        private Button listButton;
        private Button bookButton;
        private Button updateButton;
@@ -115,6 +116,7 @@ public class SettingActivity extends BaseActivity implements LockListener {
                msgLayout = (LinearLayout) findViewById(R.id.settingMsgLayout);
                confirmMsg = (TextView) findViewById(R.id.settingConfirmMsg);
                loginButton = (Button) findViewById(R.id.settingLoginButton);
+               logoutButton = (Button) findViewById(R.id.settingLogoutButton);
                listButton = (Button) findViewById(R.id.settingListButton);
                bookButton = (Button) findViewById(R.id.settingBookButton);
                updateButton = (Button) findViewById(R.id.settingUpdateButton);
@@ -129,6 +131,12 @@ public class SettingActivity extends BaseActivity implements LockListener {
                                loginButtonOnClick();
                        }
                });
+               logoutButton.setOnClickListener(new OnClickListener() {
+                       @Override
+                       public void onClick(View v) {
+                               logoutButtonOnClick();
+                       }
+               });
                listButton.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
@@ -293,6 +301,21 @@ public class SettingActivity extends BaseActivity implements LockListener {
                Intent intent = new Intent(this, (Class<?>) OAuthActivity.class);
                startActivityForResult(intent, 0);
        }
+       
+       private void logoutButtonOnClick(){
+               try {
+                       OAuthUtil util = OAuthUtil.getInstance();
+                       util.logout(this);
+                       EvernoteSession session = util.setupSession(this);
+                       EvernoteUtil.getInstance().setSession(session);
+                       
+                       setStatus();
+               }
+               catch (Exception e){
+                       // TODO
+                       e.printStackTrace();
+               }
+       }
 
        private void listButtonOnClick() {
                updateButton(false);
@@ -372,6 +395,7 @@ public class SettingActivity extends BaseActivity implements LockListener {
                        confirmMsg.setText(getString(R.string.settingUpdateMsg));
 
                        loginButton.setEnabled(false);
+                       logoutButton.setEnabled(false);
                        listButton.setEnabled(false);
                        bookButton.setEnabled(false);
                        updateButton.setEnabled(false);
@@ -387,6 +411,7 @@ public class SettingActivity extends BaseActivity implements LockListener {
                        confirmMsg.setText(getString(R.string.settingLoginMsg));
 
                        loginButton.setEnabled(true);
+                       logoutButton.setEnabled(false);
                        listButton.setEnabled(false);
                        listButton.setVisibility(View.GONE);
                        bookButton.setEnabled(false);
@@ -404,6 +429,7 @@ public class SettingActivity extends BaseActivity implements LockListener {
                        confirmMsg.setText(getString(R.string.settingDoListMsg));
 
                        loginButton.setEnabled(true);
+                       logoutButton.setEnabled(true);
                        listButton.setEnabled(true);
                        listButton.setVisibility(View.VISIBLE);
                        bookButton.setEnabled(false);
@@ -420,6 +446,7 @@ public class SettingActivity extends BaseActivity implements LockListener {
                        confirmMsg.setText(getString(R.string.settingDoSelectMsg));
 
                        loginButton.setEnabled(true);
+                       logoutButton.setEnabled(true);
                        listButton.setEnabled(false);
                        listButton.setVisibility(View.GONE);
                        bookButton.setEnabled(true);
@@ -435,6 +462,7 @@ public class SettingActivity extends BaseActivity implements LockListener {
                        confirmMsg.setText(getString(R.string.settingDoUpdateMsg));
 
                        loginButton.setEnabled(true);
+                       logoutButton.setEnabled(true);
                        listButton.setEnabled(false);
                        listButton.setVisibility(View.GONE);
                        bookButton.setEnabled(true);
@@ -445,6 +473,7 @@ public class SettingActivity extends BaseActivity implements LockListener {
                }
 
                loginButton.setEnabled(true);
+               logoutButton.setEnabled(true);
                listButton.setEnabled(false);
                listButton.setVisibility(View.GONE);
                bookButton.setEnabled(true);
index 3577898..f71aca1 100644 (file)
@@ -1,9 +1,13 @@
 package com.yuji.ef.utility;
 
 import java.io.File;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
 
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.content.SharedPreferences.Editor;
 import android.os.Environment;
 
 import com.evernote.client.conn.ApplicationInfo;
@@ -66,4 +70,24 @@ public class OAuthUtil {
                return session;
        }
 
+       public boolean logout(Context context){
+               final String prefix = "evernote.";
+               
+               SharedPreferences sp = getPreferencesForAuthData(context);
+               Editor e = sp.edit();           
+               
+               Map<String, ?> map = sp.getAll();
+               Set<String> set = map.keySet();
+               Iterator<String> it = set.iterator();
+               int len = prefix.length();
+               while (it.hasNext()){
+                       String key = it.next();
+                       if (key.length() >= len && key.substring(0, len).equals(prefix)){
+                               e.remove(key);
+                       }
+               }
+               e.commit();
+               
+               return true;
+       }
 }