Added primitive about dialog to all main windows. Added 'donate' button to main.
[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.actionbarcompat.ActionBarFragmentActivity;\r
5 import net.sf.openrocket.android.filebrowser.SimpleFileBrowser;\r
6 import android.content.ActivityNotFoundException;\r
7 import android.content.Intent;\r
8 import android.content.SharedPreferences;\r
9 import android.content.res.Resources;\r
10 import android.net.Uri;\r
11 import android.os.Bundle;\r
12 import android.preference.PreferenceManager;\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 ActionBarFragmentActivity {\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                 setTitle("");\r
28                 setContentView(R.layout.main);\r
29                 ((Button) findViewById(R.id.main_open)).setOnClickListener(\r
30                                 new View.OnClickListener() {\r
31                                         @Override\r
32                                         public void onClick(View v) {\r
33                                                 Main.this.pickOrkFiles();\r
34                                         }\r
35                                 });\r
36                 ((Button) findViewById(R.id.main_browse)).setOnClickListener(\r
37                                 new View.OnClickListener() {\r
38                                         @Override\r
39                                         public void onClick(View v) {\r
40                                                 ActivityHelpers.browseMotors(Main.this);\r
41                                         }\r
42                                 });\r
43                 ((Button) findViewById(R.id.main_donate)).setOnClickListener(\r
44                                 new View.OnClickListener() {\r
45                                         @Override\r
46                                         public void onClick(View v) {\r
47                                                 ActivityHelpers.donate(Main.this);\r
48                                         }\r
49                                 });\r
50         }\r
51 \r
52         @Override\r
53         public boolean onCreateOptionsMenu(Menu menu) {\r
54                 MenuInflater inflater = getMenuInflater();\r
55                 inflater.inflate(R.menu.main_menu, menu);\r
56                 return true;\r
57         }\r
58 \r
59         @Override\r
60         public boolean onOptionsItemSelected(MenuItem item) {\r
61                 switch( item.getItemId() ) {\r
62                 case R.id.main_menu_preferences:\r
63                         ActivityHelpers.startPreferences(this);\r
64                         return true;\r
65                 case R.id.menu_about:\r
66                         ActivityHelpers.showAbout(this);\r
67                         return true;\r
68                 }\r
69                 return super.onOptionsItemSelected(item);\r
70         }\r
71 \r
72         /* (non-Javadoc)\r
73          * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)\r
74          */\r
75         @Override\r
76         protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
77                 switch ( requestCode ) {\r
78                 case PICK_ORK_FILE_RESULT:\r
79                         if(resultCode==RESULT_OK){\r
80                                 Uri file = data.getData();\r
81                                 Intent intent = new Intent(Intent.ACTION_VIEW);\r
82                                 intent.setData(file);\r
83                                 startActivity(intent);\r
84                         }\r
85                         break;\r
86                 }\r
87                 super.onActivityResult(requestCode, resultCode, data);\r
88         }\r
89 \r
90         private void pickOrkFiles( ) {\r
91                 Resources resources = this.getResources();\r
92                 String key = resources.getString(R.string.PreferenceUseInternalFileBrowserOption);\r
93                 SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);\r
94 \r
95                 boolean useinternalbrowser = pref.getBoolean(key, false);\r
96 \r
97                 if ( useinternalbrowser ) {\r
98                         Intent intent = new Intent(Main.this, SimpleFileBrowser.class);\r
99                         startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
100                 } else {\r
101                         try {\r
102                                 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);\r
103                                 intent.setType("file/*");\r
104                                 startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
105                         } catch ( ActivityNotFoundException ex ) { \r
106                                 // No activity for ACTION_GET_CONTENT  use internal file browser\r
107                                 // update the preference value.\r
108                                 pref.edit().putBoolean(key, false).commit();\r
109                                 // fire our browser\r
110                                 Intent intent = new Intent(Main.this, SimpleFileBrowser.class);\r
111                                 startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
112                         }\r
113                 }               \r
114         }\r
115         public void pickOrkFiles( View v ) {\r
116                 pickOrkFiles();\r
117         }\r
118 \r
119         public void browseMotors( View v ) {\r
120                 ActivityHelpers.browseMotors(this);\r
121         }\r
122 \r
123 }\r