Many style and navigation changes. Pulled in ActionBarCompat from Android sample...
[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.support.v4.app.FragmentActivity;\r
13 import android.view.Menu;\r
14 import android.view.MenuInflater;\r
15 import android.view.MenuItem;\r
16 import android.view.View;\r
17 import android.widget.Button;\r
18 \r
19 public class Main extends FragmentActivity {\r
20 \r
21         private static final int PICK_ORK_FILE_RESULT = 1;\r
22 \r
23         /** Called when the activity is first created. */\r
24         @Override\r
25         public void onCreate(Bundle icicle) {\r
26                 super.onCreate(icicle);\r
27                 setContentView(R.layout.main);\r
28                 ((Button) findViewById(R.id.main_open)).setOnClickListener(\r
29                                 new View.OnClickListener() {\r
30                                         @Override\r
31                                         public void onClick(View v) {\r
32                                                 Main.this.pickOrkFiles();\r
33                                         }\r
34                                 });\r
35                 ((Button) findViewById(R.id.main_browse)).setOnClickListener(\r
36                                 new View.OnClickListener() {\r
37                                         @Override\r
38                                         public void onClick(View v) {\r
39                                                 ActivityHelpers.browseMotors(Main.this);\r
40                                         }\r
41                                 });\r
42         }\r
43 \r
44         @Override\r
45         public boolean onCreateOptionsMenu(Menu menu) {\r
46                 MenuInflater inflater = getMenuInflater();\r
47                 inflater.inflate(R.menu.main_menu, menu);\r
48                 return true;\r
49         }\r
50 \r
51         @Override\r
52         public boolean onOptionsItemSelected(MenuItem item) {\r
53                 switch( item.getItemId() ) {\r
54                 case R.id.main_menu_preferences:\r
55                         ActivityHelpers.startPreferences(this);\r
56                         return true;\r
57                 }\r
58                 return super.onOptionsItemSelected(item);\r
59         }\r
60 \r
61         /* (non-Javadoc)\r
62          * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)\r
63          */\r
64         @Override\r
65         protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
66                 switch ( requestCode ) {\r
67                 case PICK_ORK_FILE_RESULT:\r
68                         if(resultCode==RESULT_OK){\r
69                                 Uri file = data.getData();\r
70                                 Intent intent = new Intent(Intent.ACTION_VIEW);\r
71                                 intent.setData(file);\r
72                                 startActivity(intent);\r
73                         }\r
74                         break;\r
75                 }\r
76                 super.onActivityResult(requestCode, resultCode, data);\r
77         }\r
78 \r
79         private void pickOrkFiles( ) {\r
80                 Resources resources = this.getResources();\r
81                 String key = resources.getString(R.string.PreferenceUseInternalFileBrowserOption);\r
82                 SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);\r
83 \r
84                 boolean useinternalbrowser = pref.getBoolean(key, false);\r
85 \r
86                 if ( useinternalbrowser ) {\r
87                         Intent intent = new Intent(Main.this, SimpleFileBrowser.class);\r
88                         startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
89                 } else {\r
90                         try {\r
91                                 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);\r
92                                 intent.setType("file/*");\r
93                                 startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
94                         } catch ( ActivityNotFoundException ex ) { \r
95                                 // No activity for ACTION_GET_CONTENT  use internal file browser\r
96                                 // update the preference value.\r
97                                 pref.edit().putBoolean(key, false).commit();\r
98                                 // fire our browser\r
99                                 Intent intent = new Intent(Main.this, SimpleFileBrowser.class);\r
100                                 startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
101                         }\r
102                 }               \r
103         }\r
104         public void pickOrkFiles( View v ) {\r
105                 pickOrkFiles();\r
106         }\r
107 \r
108         public void browseMotors( View v ) {\r
109                 ActivityHelpers.browseMotors(this);\r
110         }\r
111 \r
112 }\r