65 {
66 super.onCreate(savedInstanceState);
67
68 PreferenceManager mgr = getPreferenceManager();
69
70 mgr.setSharedPreferencesName("TEMP");
71 mgr.setSharedPreferencesMode(MODE_PRIVATE);
72
73 if (bookmark == null)
74 {
75
76 Bundle bundle = getIntent().getExtras();
77 if (bundle != null)
78 {
79
80 if (bundle.containsKey(PARAM_CONNECTION_REFERENCE))
81 {
82 String refStr = bundle.getString(PARAM_CONNECTION_REFERENCE);
83 if (ConnectionReference.isManualBookmarkReference(refStr))
84 {
85 bookmark = GlobalApp.getManualBookmarkGateway().findById(
86 ConnectionReference.getManualBookmarkId(refStr));
87 new_bookmark = false;
88 }
89 else if (ConnectionReference.isHostnameReference(refStr))
90 {
91 bookmark = new ManualBookmark();
92 bookmark.<ManualBookmark>get().setLabel(
93 ConnectionReference.getHostname(refStr));
94 bookmark.<ManualBookmark>get().setHostname(
95 ConnectionReference.getHostname(refStr));
96 new_bookmark = true;
97 }
98 else if (ConnectionReference.isFileReference(refStr))
99 {
100 String file = ConnectionReference.getFile(refStr);
101
102 bookmark = new ManualBookmark();
103 bookmark.setLabel(file);
104
105 try
106 {
107 RDPFileParser rdpFile = new RDPFileParser(file);
108 updateBookmarkFromFile((ManualBookmark)bookmark, rdpFile);
109
110 bookmark.setLabel(new File(file).getName());
111 new_bookmark = true;
112 }
113 catch (IOException e)
114 {
115 Log.e(TAG, "Failed reading RDP file", e);
116 }
117 }
118 }
119 }
120
121
122 if (bookmark == null)
123 bookmark = new ManualBookmark();
124
125
126 if (current_preferences == PREFERENCES_ADVANCED &&
127 bookmark.getType() != ManualBookmark.TYPE_MANUAL)
128 {
129 PreferenceScreen screen = getPreferenceScreen();
130 screen.removePreference(findPreference("bookmark.enable_gateway"));
131 screen.removePreference(findPreference("bookmark.gateway"));
132 }
133
134 updateH264Preferences();
135
136
137 bookmark.writeToSharedPreferences(mgr.getSharedPreferences());
138
139
140 settings_changed = false;
141 }
142
143
144 if (getIntent() == null || getIntent().getData() == null)
145 {
146 addPreferencesFromResource(R.xml.bookmark_settings);
147 current_preferences = PREFERENCES_BOOKMARK;
148 }
149 else if (getIntent().getData().toString().equals("preferences://screen_settings"))
150 {
151 addPreferencesFromResource(R.xml.screen_settings);
152 current_preferences = PREFERENCES_SCREEN;
153 }
154 else if (getIntent().getData().toString().equals("preferences://performance_flags"))
155 {
156 addPreferencesFromResource(R.xml.performance_flags);
157 current_preferences = PREFERENCES_PERFORMANCE;
158 }
159 else if (getIntent().getData().toString().equals("preferences://screen_settings_3g"))
160 {
161 addPreferencesFromResource(R.xml.screen_settings_3g);
162 current_preferences = PREFERENCES_SCREEN3G;
163 }
164 else if (getIntent().getData().toString().equals("preferences://performance_flags_3g"))
165 {
166 addPreferencesFromResource(R.xml.performance_flags_3g);
167 current_preferences = PREFERENCES_PERFORMANCE3G;
168 }
169 else if (getIntent().getData().toString().equals("preferences://advanced_settings"))
170 {
171 addPreferencesFromResource(R.xml.advanced_settings);
172 current_preferences = PREFERENCES_ADVANCED;
173 }
174 else if (getIntent().getData().toString().equals("preferences://credentials_settings"))
175 {
176 addPreferencesFromResource(R.xml.credentials_settings);
177 current_preferences = PREFERENCES_CREDENTIALS;
178 }
179 else if (getIntent().getData().toString().equals("preferences://gateway_settings"))
180 {
181 addPreferencesFromResource(R.xml.gateway_settings);
182 current_preferences = PREFERENCES_GATEWAY;
183 }
184 else if (getIntent().getData().toString().equals("preferences://debug_settings"))
185 {
186 addPreferencesFromResource(R.xml.debug_settings);
187 current_preferences = PREFERENCES_DEBUG;
188 }
189 else
190 {
191 addPreferencesFromResource(R.xml.bookmark_settings);
192 current_preferences = PREFERENCES_BOOKMARK;
193 }
194
195
196 SharedPreferences spref = mgr.getSharedPreferences();
197 initSettings(spref);
198
199
200 mgr.getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
201
202
203 setIntentComponentNames();
204
205 updateH264Preferences();
206 }