Change to using ActionBarSherlock for the action bar compatibility.
[debian/openrocket] / android / src / net / sf / openrocket / android / Main.java
1 package net.sf.openrocket.android;\r
2 \r
3 import net.sf.openrocket.R;\r
4 import net.sf.openrocket.android.filebrowser.SimpleFileBrowser;\r
5 import android.content.ActivityNotFoundException;\r
6 import android.content.Intent;\r
7 import android.content.SharedPreferences;\r
8 import android.content.res.Resources;\r
9 import android.net.Uri;\r
10 import android.os.Bundle;\r
11 import android.preference.PreferenceManager;\r
12 import android.view.View;\r
13 import android.widget.Button;\r
14 \r
15 import com.actionbarsherlock.app.SherlockFragmentActivity;\r
16 import com.actionbarsherlock.view.Menu;\r
17 import com.actionbarsherlock.view.MenuInflater;\r
18 import com.actionbarsherlock.view.MenuItem;\r
19 \r
20 public class Main extends SherlockFragmentActivity {\r
21 \r
22         private static final int PICK_ORK_FILE_RESULT = 1;\r
23 \r
24         /** Called when the activity is first created. */\r
25         @Override\r
26         public void onCreate(Bundle icicle) {\r
27                 super.onCreate(icicle);\r
28                 setTitle("");\r
29                 setContentView(R.layout.main);\r
30                 ((Button) findViewById(R.id.main_open)).setOnClickListener(\r
31                                 new View.OnClickListener() {\r
32                                         @Override\r
33                                         public void onClick(View v) {\r
34                                                 Main.this.pickOrkFiles();\r
35                                         }\r
36                                 });\r
37                 ((Button) findViewById(R.id.main_browse)).setOnClickListener(\r
38                                 new View.OnClickListener() {\r
39                                         @Override\r
40                                         public void onClick(View v) {\r
41                                                 ActivityHelpers.browseMotors(Main.this);\r
42                                         }\r
43                                 });\r
44                 ((Button) findViewById(R.id.main_donate)).setOnClickListener(\r
45                                 new View.OnClickListener() {\r
46                                         @Override\r
47                                         public void onClick(View v) {\r
48                                                 ActivityHelpers.donate(Main.this);\r
49                                         }\r
50                                 });\r
51         }\r
52 \r
53         @Override\r
54         public boolean onCreateOptionsMenu(Menu menu) {\r
55                 MenuInflater inflater = getSupportMenuInflater();\r
56                 inflater.inflate(R.menu.main_menu, menu);\r
57                 return true;\r
58         }\r
59 \r
60         @Override\r
61         public boolean onOptionsItemSelected(MenuItem item) {\r
62                 switch( item.getItemId() ) {\r
63                 case R.id.main_menu_preferences:\r
64                         ActivityHelpers.startPreferences(this);\r
65                         return true;\r
66                 case R.id.menu_about:\r
67                         ActivityHelpers.showAbout(this);\r
68                         return true;\r
69                 }\r
70                 return super.onOptionsItemSelected(item);\r
71         }\r
72 \r
73         /* (non-Javadoc)\r
74          * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)\r
75          */\r
76         @Override\r
77         protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
78                 switch ( requestCode ) {\r
79                 case PICK_ORK_FILE_RESULT:\r
80                         if(resultCode==RESULT_OK){\r
81                                 Uri file = data.getData();\r
82                                 Intent intent = new Intent(Intent.ACTION_VIEW);\r
83                                 intent.setData(file);\r
84                                 startActivity(intent);\r
85                         }\r
86                         break;\r
87                 }\r
88                 super.onActivityResult(requestCode, resultCode, data);\r
89         }\r
90 \r
91         private void pickOrkFiles( ) {\r
92                 Resources resources = this.getResources();\r
93                 String key = resources.getString(R.string.PreferenceUseInternalFileBrowserOption);\r
94                 SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);\r
95 \r
96                 boolean useinternalbrowser = pref.getBoolean(key, false);\r
97 \r
98                 if ( useinternalbrowser ) {\r
99                         Intent intent = new Intent(Main.this, SimpleFileBrowser.class);\r
100                         startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
101                 } else {\r
102                         try {\r
103                                 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);\r
104                                 intent.setType("file/*");\r
105                                 startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
106                         } catch ( ActivityNotFoundException ex ) { \r
107                                 // No activity for ACTION_GET_CONTENT  use internal file browser\r
108                                 // update the preference value.\r
109                                 pref.edit().putBoolean(key, false).commit();\r
110                                 // fire our browser\r
111                                 Intent intent = new Intent(Main.this, SimpleFileBrowser.class);\r
112                                 startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
113                         }\r
114                 }               \r
115         }\r
116         public void pickOrkFiles( View v ) {\r
117                 pickOrkFiles();\r
118         }\r
119 \r
120         public void browseMotors( View v ) {\r
121                 ActivityHelpers.browseMotors(this);\r
122         }\r
123 \r
124 }\r