blob: b738b6d12cdc880cba60c365da8ddf5adb5ca1fd [file] [log] [blame]
Jose Pascoal91aff132014-10-02 17:19:47 +01001package com.fairphone.updater.fragments;
2
Jose Pascoal54b3ae62014-10-07 20:29:58 +01003import android.content.BroadcastReceiver;
4import android.content.Context;
5import android.content.Intent;
6import android.content.IntentFilter;
Tiago Costadaaa32c2015-01-08 12:12:24 +00007import android.content.SharedPreferences.Editor;
Jose Pascoal91aff132014-10-02 17:19:47 +01008import android.os.Bundle;
Jose Pascoal87758742015-01-28 20:00:22 +00009import android.support.v4.app.Fragment;
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +000010import android.util.Log;
Jose Pascoal91aff132014-10-02 17:19:47 +010011import android.view.LayoutInflater;
12import android.view.View;
13import android.view.View.OnClickListener;
14import android.view.ViewGroup;
Jose Pascoal2666b892014-10-02 21:05:08 +010015import android.widget.Button;
Tiago Costa1216b102015-03-10 15:48:18 +000016import android.widget.EditText;
Jose Pascoal2666b892014-10-02 21:05:08 +010017import android.widget.LinearLayout;
Tiago Costadaaa32c2015-01-08 12:12:24 +000018import android.widget.RelativeLayout;
Jose Pascoal2666b892014-10-02 21:05:08 +010019import android.widget.TextView;
20import android.widget.Toast;
Jose Pascoal91aff132014-10-02 17:19:47 +010021
Jose Pascoal7bf83a02014-10-13 18:30:18 +010022import com.fairphone.updater.FairphoneUpdater;
23import com.fairphone.updater.FairphoneUpdater.HeaderType;
24import com.fairphone.updater.FairphoneUpdater.UpdaterState;
Jose Pascoalee8a8eb2014-10-15 15:20:28 +010025import com.fairphone.updater.R;
Jose Pascoal7bf83a02014-10-13 18:30:18 +010026import com.fairphone.updater.data.UpdaterData;
27import com.fairphone.updater.data.Version;
Jose Pascoalee8a8eb2014-10-15 15:20:28 +010028import com.fairphone.updater.fragments.VersionDetailFragment.DetailLayoutType;
Tiago Costadaaa32c2015-01-08 12:12:24 +000029import com.fairphone.updater.gappsinstaller.GappsInstallerHelper;
Jose Pascoal055562d2015-03-19 19:31:38 +000030import com.fairphone.updater.tools.Utils;
Jose Pascoal91aff132014-10-02 17:19:47 +010031
Jose Pascoal810950b2014-10-09 17:16:08 +010032public class MainFragment extends BaseFragment
33{
Jose Pascoal91aff132014-10-02 17:19:47 +010034
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +000035 private static final String TAG = MainFragment.class.getSimpleName();
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +000036 public static final String SHARED_PREFERENCES_ENABLE_GAPPS = "SHARED_PREFERENCES_ENABLE_GAPPS_POPUP";
Tiago Costadaaa32c2015-01-08 12:12:24 +000037
Jose Pascoal810950b2014-10-09 17:16:08 +010038 private LinearLayout mVersionUpToDateGroup;
39 private TextView mVersionUpToDateCurrentVersionNameText;
40 private LinearLayout mUpdateAvailableGroup;
41 private TextView mUpdateAvailableCurrentVersionNameText;
42 private TextView mUpdateAvailableNameText;
43 private Button mUpdateAvailableInstallButton;
Jose Pascoalfe1cb412014-10-09 18:45:59 +010044 private LinearLayout mOtherOSOptionsGroup;
Jose Pascoal810950b2014-10-09 17:16:08 +010045 private Button mOtherOSOptionsButton;
46 private Version mDeviceVersion;
47 private BroadcastReceiver newVersionbroadcastReceiver;
Jose Pascoal2666b892014-10-02 21:05:08 +010048
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +000049 private RelativeLayout mGappsIcon;
Tiago Costadaaa32c2015-01-08 12:12:24 +000050 private Button mGappsButton;
51 private Button mGappsDismissButton;
Tiago Costa1216b102015-03-10 15:48:18 +000052 private LinearLayout mDevModeUrlContainer;
53 private EditText mDevModeUrlEditText;
54 private Button mDevModeUrlButton;
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +000055 private int mIsDevModeCounter;
Tiago Costadaaa32c2015-01-08 12:12:24 +000056
Jose Pascoal810950b2014-10-09 17:16:08 +010057 @Override
58 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
59 {
60 // Inflate the layout for this fragment
61 View view = inflater.inflate(R.layout.fragment_main, container, false);
Jose Pascoal2666b892014-10-02 21:05:08 +010062
Jose Pascoalee8a8eb2014-10-15 15:20:28 +010063 setupLayout(inflater, view);
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +000064 mDevModeUrlContainer.setVisibility(FairphoneUpdater.DEV_MODE_ENABLED ? View.VISIBLE : View.GONE);
65 mIsDevModeCounter = FairphoneUpdater.DEV_MODE_ENABLED ? 0 : 10;
Jose Pascoal2666b892014-10-02 21:05:08 +010066
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +000067 return view;
Jose Pascoal810950b2014-10-09 17:16:08 +010068 }
Jose Pascoal2666b892014-10-02 21:05:08 +010069
Jose Pascoal810950b2014-10-09 17:16:08 +010070 private void updateHeader()
71 {
72 if (Version.IMAGE_TYPE_FAIRPHONE.equalsIgnoreCase(mDeviceVersion.getImageType()))
73 {
Tiago Costa3855faa2014-11-14 17:55:05 +000074 mainActivity.updateHeader(HeaderType.MAIN_FAIRPHONE, "", false);
Jose Pascoal810950b2014-10-09 17:16:08 +010075 }
76 else if (Version.IMAGE_TYPE_AOSP.equalsIgnoreCase(mDeviceVersion.getImageType()))
77 {
Tiago Costa3855faa2014-11-14 17:55:05 +000078 mainActivity.updateHeader(HeaderType.MAIN_ANDROID, "", false);
Jose Pascoal810950b2014-10-09 17:16:08 +010079 }
80 }
Jose Pascoalb690af12014-10-06 18:29:26 +010081
Jose Pascoalee8a8eb2014-10-15 15:20:28 +010082 private void setupLayout(LayoutInflater inflater, View view)
Jose Pascoal810950b2014-10-09 17:16:08 +010083 {
Jose Pascoalee8a8eb2014-10-15 15:20:28 +010084 setupCurrentVersionGroup(inflater, view);
85
Jose Pascoal810950b2014-10-09 17:16:08 +010086 // Version up to date group
87 mVersionUpToDateGroup = (LinearLayout) view.findViewById(R.id.version_up_to_date_group);
88 mVersionUpToDateCurrentVersionNameText = (TextView) view.findViewById(R.id.version_up_to_date_current_version_name_text);
Jose Pascoal2666b892014-10-02 21:05:08 +010089
Jose Pascoal810950b2014-10-09 17:16:08 +010090 // Update available group
91 mUpdateAvailableGroup = (LinearLayout) view.findViewById(R.id.update_available_group);
92 mUpdateAvailableCurrentVersionNameText = (TextView) view.findViewById(R.id.update_available_current_version_name_text);
93 mUpdateAvailableNameText = (TextView) view.findViewById(R.id.update_available_name_text);
94 mUpdateAvailableInstallButton = (Button) view.findViewById(R.id.install_update_button);
Jose Pascoal2666b892014-10-02 21:05:08 +010095
Jose Pascoal810950b2014-10-09 17:16:08 +010096 // Other OS Options group
Jose Pascoalfe1cb412014-10-09 18:45:59 +010097 mOtherOSOptionsGroup = (LinearLayout) view.findViewById(R.id.other_os_options_group);
Jose Pascoal810950b2014-10-09 17:16:08 +010098 mOtherOSOptionsButton = (Button) view.findViewById(R.id.other_os_options_button);
Tiago Costadaaa32c2015-01-08 12:12:24 +000099
100 // gapps
101 mGappsButton = (Button) view.findViewById(R.id.install_gapps_button);
102 mGappsDismissButton = (Button) view.findViewById(R.id.install_gapps_dismiss_button);
103 mGappsIcon = (RelativeLayout) view.findViewById(R.id.gapps_reminder_group);
Tiago Costa1216b102015-03-10 15:48:18 +0000104
105 // Dev mode
106 mDevModeUrlEditText = (EditText)view.findViewById(R.id.dev_mode_url_edit_text);
107 mDevModeUrlButton = (Button)view.findViewById(R.id.dev_mode_url_ok_button);
108 mDevModeUrlContainer = (LinearLayout)view.findViewById(R.id.dev_mode_url_container);
109
Filipe72b5a7f2015-09-01 08:59:54 +0000110 mDevModeUrlEditText.setText(FairphoneUpdater.otaDevDownloadUrl);
111
Tiago Costa1216b102015-03-10 15:48:18 +0000112 mDevModeUrlButton.setOnClickListener(new OnClickListener() {
113 @Override
114 public void onClick(View v) {
115 String url = mDevModeUrlEditText.getText().toString();
116
117 // set the URL for the shared prefs
118 mainActivity.changeOTADownloadURL(url);
119
Jose Pascoaldca09ac2015-03-11 16:35:06 +0000120 // download new config
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +0000121 mainActivity.forceConfigDownload();
Tiago Costa1216b102015-03-10 15:48:18 +0000122 }
123 });
124
Tiago Costadaaa32c2015-01-08 12:12:24 +0000125 }
126
127 private boolean getGappsInstalationButtonState()
128 {
Jose Pascoal87758742015-01-28 20:00:22 +0000129 boolean showGappsGroup = mSharedPreferences.getBoolean(SHARED_PREFERENCES_ENABLE_GAPPS, true);
130 boolean gappsNotInstalled = !GappsInstallerHelper.areGappsInstalled();
Jose Pascoal055562d2015-03-19 19:31:38 +0000131 boolean hasStoreInfo = Utils.getGappsStore() != null;
Jose Pascoal87758742015-01-28 20:00:22 +0000132 return showGappsGroup && gappsNotInstalled && hasStoreInfo;
Tiago Costadaaa32c2015-01-08 12:12:24 +0000133 }
Tiago Costa5b621322015-01-08 12:22:56 +0000134
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000135 private void disableGappsInstalationButton()
Tiago Costadaaa32c2015-01-08 12:12:24 +0000136 {
137 Editor edit = mSharedPreferences.edit();
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000138 edit.putBoolean(SHARED_PREFERENCES_ENABLE_GAPPS, false);
Tiago Costa5b621322015-01-08 12:22:56 +0000139
Jose Pascoal0b48f8d2015-02-06 16:06:41 +0000140 edit.apply();
Jose Pascoal810950b2014-10-09 17:16:08 +0100141 }
Jose Pascoal2666b892014-10-02 21:05:08 +0100142
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100143 private void setupCurrentVersionGroup(LayoutInflater inflater, View view)
144 {
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000145 LinearLayout mCurrentVersionGroup = (LinearLayout) view.findViewById(R.id.current_version_group);
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100146
147 View updateGroupView = null;
148 if (Version.IMAGE_TYPE_FAIRPHONE.equalsIgnoreCase(mainActivity.getDeviceVersion().getImageType()))
149 {
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000150 updateGroupView = inflater.inflate(R.layout.fragment_main_update_available_fairphone, mCurrentVersionGroup);
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100151 }
152 else if (Version.IMAGE_TYPE_AOSP.equalsIgnoreCase(mainActivity.getDeviceVersion().getImageType()))
153 {
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000154 updateGroupView = inflater.inflate(R.layout.fragment_main_update_available_android, mCurrentVersionGroup);
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100155 }
156 if (updateGroupView != null)
157 {
158 updateGroupView.setLayoutParams(mCurrentVersionGroup.getLayoutParams());
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100159 }
160 }
161
Tiago Costadaaa32c2015-01-08 12:12:24 +0000162 private void enableGappsGroup(boolean showAndEnable)
163 {
164 if (showAndEnable)
165 {
166 mGappsIcon.setVisibility(View.VISIBLE);
167
168 mGappsButton.setOnClickListener(new OnClickListener()
169 {
170
171 @Override
172 public void onClick(View v)
173 {
174 startGappsInstall();
175 }
176 });
Tiago Costa5b621322015-01-08 12:22:56 +0000177
Tiago Costadaaa32c2015-01-08 12:12:24 +0000178 mGappsDismissButton.setOnClickListener(new OnClickListener()
179 {
180
181 @Override
182 public void onClick(View v)
183 {
184 mGappsIcon.setVisibility(View.GONE);
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000185 disableGappsInstalationButton();
Tiago Costadaaa32c2015-01-08 12:12:24 +0000186 }
187 });
188 }
189 else
190 {
191 mGappsIcon.setVisibility(View.GONE);
Tiago Costadaaa32c2015-01-08 12:12:24 +0000192 }
193 }
194
195 private void startGappsInstall()
196 {
Jose Pascoal87758742015-01-28 20:00:22 +0000197 Fragment gappsFragment = mainActivity.startGappsInstall();
198 mainActivity.changeFragment(gappsFragment);
Tiago Costadaaa32c2015-01-08 12:12:24 +0000199 }
200
Jose Pascoal810950b2014-10-09 17:16:08 +0100201 private void updateOtherOSOptionsGroup()
202 {
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000203 if (UpdaterData.getInstance().isFairphoneVersionListNotEmpty() || UpdaterData.getInstance().isAOSPVersionListNotEmpty())
Jose Pascoal810950b2014-10-09 17:16:08 +0100204 {
Jose Pascoalfe1cb412014-10-09 18:45:59 +0100205 mOtherOSOptionsGroup.setVisibility(View.VISIBLE);
206 mOtherOSOptionsButton.setOnClickListener(new OnClickListener()
Jose Pascoal810950b2014-10-09 17:16:08 +0100207 {
Jose Pascoalfe1cb412014-10-09 18:45:59 +0100208
209 @Override
210 public void onClick(View v)
211 {
212 OtherOSOptionsFragment newFragment = new OtherOSOptionsFragment();
213 mainActivity.changeFragment(newFragment);
214 }
215 });
216 }
217 else
218 {
219 mOtherOSOptionsGroup.setVisibility(View.GONE);
220 }
Jose Pascoal810950b2014-10-09 17:16:08 +0100221 }
Jose Pascoal2666b892014-10-02 21:05:08 +0100222
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000223 void toogleUpdateAvailableGroup()
Jose Pascoal810950b2014-10-09 17:16:08 +0100224 {
Jose Pascoal8ed98d62014-10-09 20:41:11 +0100225 updateCurrentVersionGroup();
226
Jose Pascoal810950b2014-10-09 17:16:08 +0100227 if (mainActivity.isUpdateAvailable())
228 {
229 mVersionUpToDateGroup.setVisibility(View.GONE);
230 mUpdateAvailableGroup.setVisibility(View.VISIBLE);
Jose Pascoal2666b892014-10-02 21:05:08 +0100231
Jose Pascoal810950b2014-10-09 17:16:08 +0100232 updateUpdateAvailableGroup();
233 }
234 else
235 {
Tiago Costa5b621322015-01-08 12:22:56 +0000236 if (mUpdateAvailableGroup != null)
237 {
238 mUpdateAvailableGroup.setVisibility(View.GONE);
239 }
240
241 if( mVersionUpToDateGroup != null){
242 mVersionUpToDateGroup.setVisibility(View.VISIBLE);
243 }
Jose Pascoal810950b2014-10-09 17:16:08 +0100244 }
Jose Pascoal8ed98d62014-10-09 20:41:11 +0100245
Jose Pascoalfe1cb412014-10-09 18:45:59 +0100246 updateOtherOSOptionsGroup();
Jose Pascoal810950b2014-10-09 17:16:08 +0100247 }
Jose Pascoal2666b892014-10-02 21:05:08 +0100248
Jose Pascoal810950b2014-10-09 17:16:08 +0100249 private void updateUpdateAvailableGroup()
250 {
251 mUpdateAvailableNameText.setText(mainActivity.getLatestVersionName());
252 mUpdateAvailableInstallButton.setOnClickListener(new OnClickListener()
253 {
Jose Pascoal2666b892014-10-02 21:05:08 +0100254
Jose Pascoal810950b2014-10-09 17:16:08 +0100255 @Override
256 public void onClick(View v)
257 {
Jose Pascoal02d86242014-12-17 18:50:08 +0000258 VersionDetailFragment fragment = new VersionDetailFragment(true);
Jose Pascoale4c48e32014-10-03 19:55:39 +0100259
Jose Pascoal810950b2014-10-09 17:16:08 +0100260 Version latestVersion = mainActivity.getLatestVersion();
261 if (latestVersion != null)
262 {
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100263 fragment.setupFragment(latestVersion, getDetailLayoutFromDeviceVersion(latestVersion));
Jose Pascoal810950b2014-10-09 17:16:08 +0100264 mainActivity.changeFragment(fragment);
265 }
266 }
267 });
268 }
Jose Pascoal2666b892014-10-02 21:05:08 +0100269
Jose Pascoalcfc2dd42015-02-09 18:00:05 +0000270 private static VersionDetailFragment.DetailLayoutType getDetailLayoutFromDeviceVersion(Version latestVersion)
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100271 {
272 VersionDetailFragment.DetailLayoutType type = DetailLayoutType.UPDATE_FAIRPHONE;
273 if (Version.IMAGE_TYPE_FAIRPHONE.equalsIgnoreCase(latestVersion.getImageType()))
274 {
275 type = DetailLayoutType.UPDATE_FAIRPHONE;
276 }
277 else if (Version.IMAGE_TYPE_AOSP.equalsIgnoreCase(latestVersion.getImageType()))
278 {
279 type = DetailLayoutType.UPDATE_ANDROID;
280 }
281 return type;
282 }
283
Jose Pascoal810950b2014-10-09 17:16:08 +0100284 private void updateCurrentVersionGroup()
285 {
286 String currentVersionName = mainActivity.getDeviceVersionName();
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100287
Tiago Costadaaa32c2015-01-08 12:12:24 +0000288 if (mVersionUpToDateCurrentVersionNameText != null)
Jose Pascoal810950b2014-10-09 17:16:08 +0100289 {
Tiago Costadaaa32c2015-01-08 12:12:24 +0000290 mVersionUpToDateCurrentVersionNameText.setText(currentVersionName);
291 mVersionUpToDateCurrentVersionNameText.setOnClickListener(new OnClickListener()
Jose Pascoal810950b2014-10-09 17:16:08 +0100292 {
Tiago Costadaaa32c2015-01-08 12:12:24 +0000293 @Override
294 public void onClick(View v)
295 {
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +0000296 onEnableDevMode();
Tiago Costadaaa32c2015-01-08 12:12:24 +0000297 }
298 });
299 }
300
301 if (mUpdateAvailableCurrentVersionNameText != null)
302 {
303 mUpdateAvailableCurrentVersionNameText.setText(currentVersionName);
304 mUpdateAvailableCurrentVersionNameText.setOnClickListener(new OnClickListener()
305 {
306 @Override
307 public void onClick(View v)
308 {
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +0000309 onEnableDevMode();
Tiago Costadaaa32c2015-01-08 12:12:24 +0000310 }
311 });
312 }
Jose Pascoal810950b2014-10-09 17:16:08 +0100313 }
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100314
Jose Pascoal810950b2014-10-09 17:16:08 +0100315 @Override
316 public void onResume()
317 {
318 super.onResume();
319 setupBroadcastReceiver();
Jose Pascoal810950b2014-10-09 17:16:08 +0100320 registerBroadCastReceiver();
Jose Pascoalfe1cb412014-10-09 18:45:59 +0100321
Jose Pascoal8ed98d62014-10-09 20:41:11 +0100322 mDeviceVersion = mainActivity.getDeviceVersion();
Jose Pascoalfe1cb412014-10-09 18:45:59 +0100323 updateHeader();
324 updateCurrentVersionGroup();
325 toogleUpdateAvailableGroup();
326 updateOtherOSOptionsGroup();
Jose Pascoal87758742015-01-28 20:00:22 +0000327 enableGappsGroup(getGappsInstalationButtonState());
Jose Pascoal810950b2014-10-09 17:16:08 +0100328 }
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100329
Jose Pascoal810950b2014-10-09 17:16:08 +0100330 @Override
331 public void onPause()
332 {
333 super.onPause();
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100334
Jose Pascoal810950b2014-10-09 17:16:08 +0100335 unregisterBroadCastReceiver();
336 }
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100337
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000338 void setupBroadcastReceiver()
Jose Pascoal810950b2014-10-09 17:16:08 +0100339 {
340 newVersionbroadcastReceiver = new BroadcastReceiver()
341 {
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100342
Jose Pascoal810950b2014-10-09 17:16:08 +0100343 @Override
344 public void onReceive(Context context, Intent intent)
345 {
346 String action = intent.getAction();
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100347
Jose Pascoal7bf83a02014-10-13 18:30:18 +0100348 if (FairphoneUpdater.FAIRPHONE_UPDATER_NEW_VERSION_RECEIVED.equals(action))
Jose Pascoal810950b2014-10-09 17:16:08 +0100349 {
350 mainActivity.updateLatestVersionFromConfig();
Jose Pascoal4fe7ba52015-03-13 16:54:31 +0000351 if (mainActivity.getCurrentUpdaterState() != UpdaterState.DOWNLOAD && mainActivity.getCurrentUpdaterState() != UpdaterState.PREINSTALL)
Jose Pascoal810950b2014-10-09 17:16:08 +0100352 {
353 toogleUpdateAvailableGroup();
Jose Pascoal87758742015-01-28 20:00:22 +0000354 enableGappsGroup(getGappsInstalationButtonState());
Jose Pascoal810950b2014-10-09 17:16:08 +0100355 }
356 }
Jose Pascoal7bf83a02014-10-13 18:30:18 +0100357 else if (FairphoneUpdater.FAIRPHONE_UPDATER_CONFIG_DOWNLOAD_FAILED.equals(action))
Jose Pascoal810950b2014-10-09 17:16:08 +0100358 {
Jose Pascoal7bf83a02014-10-13 18:30:18 +0100359 String link = intent.getStringExtra(FairphoneUpdater.FAIRPHONE_UPDATER_CONFIG_DOWNLOAD_LINK);
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100360 Toast.makeText(context.getApplicationContext(),
361 context.getResources().getString(R.string.config_file_download_link_error_message) + " " + link, Toast.LENGTH_LONG).show();
Jose Pascoal810950b2014-10-09 17:16:08 +0100362 }
363 }
364 };
365 }
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100366
Jose Pascoal810950b2014-10-09 17:16:08 +0100367 private void registerBroadCastReceiver()
368 {
369 IntentFilter iFilter = new IntentFilter();
Jose Pascoal7bf83a02014-10-13 18:30:18 +0100370 iFilter.addAction(FairphoneUpdater.FAIRPHONE_UPDATER_NEW_VERSION_RECEIVED);
371 iFilter.addAction(FairphoneUpdater.FAIRPHONE_UPDATER_CONFIG_DOWNLOAD_FAILED);
Jose Pascoal810950b2014-10-09 17:16:08 +0100372 mainActivity.registerReceiver(newVersionbroadcastReceiver, iFilter);
373 }
374
375 private void unregisterBroadCastReceiver()
376 {
377 mainActivity.unregisterReceiver(newVersionbroadcastReceiver);
378 }
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100379
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +0000380 public void onEnableDevMode()
381 {
382 if (!FairphoneUpdater.DEV_MODE_ENABLED)
383 {
384 mIsDevModeCounter--;
385
386 Log.d(TAG, "Developer mode in " + mIsDevModeCounter + " Clicks...");
387
388 if (mIsDevModeCounter <= 0)
389 {
390 FairphoneUpdater.DEV_MODE_ENABLED = true;
391
392 Toast.makeText(mainActivity.getApplicationContext(), getResources().getString(R.string.dev_mode_message), Toast.LENGTH_LONG).show();
393
394 Log.d(TAG, "Developer mode enabled for this session");
395
396 mDevModeUrlContainer.setVisibility(FairphoneUpdater.DEV_MODE_ENABLED ? View.VISIBLE : View.GONE);
397 mainActivity.forceConfigDownload();
398 //Utils.downloadConfigFile(this, true);
399 }
400 }
401 }
Jose Pascoal91aff132014-10-02 17:19:47 +0100402}