blob: ed5688eb45417c4a6cd17488bce361b09d338b6c [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;
Tiago Costadaaa32c2015-01-08 12:12:24 +000026import com.fairphone.updater.data.Store;
Jose Pascoal7bf83a02014-10-13 18:30:18 +010027import com.fairphone.updater.data.UpdaterData;
28import com.fairphone.updater.data.Version;
Jose Pascoalee8a8eb2014-10-15 15:20:28 +010029import com.fairphone.updater.fragments.VersionDetailFragment.DetailLayoutType;
Tiago Costadaaa32c2015-01-08 12:12:24 +000030import com.fairphone.updater.gappsinstaller.GappsInstallerHelper;
Jose Pascoal055562d2015-03-19 19:31:38 +000031import com.fairphone.updater.tools.Utils;
Jose Pascoal91aff132014-10-02 17:19:47 +010032
Jose Pascoal810950b2014-10-09 17:16:08 +010033public class MainFragment extends BaseFragment
34{
Jose Pascoal91aff132014-10-02 17:19:47 +010035
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +000036 private static final String TAG = MainFragment.class.getSimpleName();
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +000037 public static final String SHARED_PREFERENCES_ENABLE_GAPPS = "SHARED_PREFERENCES_ENABLE_GAPPS_POPUP";
Tiago Costadaaa32c2015-01-08 12:12:24 +000038
Jose Pascoal810950b2014-10-09 17:16:08 +010039 private LinearLayout mVersionUpToDateGroup;
40 private TextView mVersionUpToDateCurrentVersionNameText;
41 private LinearLayout mUpdateAvailableGroup;
42 private TextView mUpdateAvailableCurrentVersionNameText;
43 private TextView mUpdateAvailableNameText;
44 private Button mUpdateAvailableInstallButton;
Jose Pascoalfe1cb412014-10-09 18:45:59 +010045 private LinearLayout mOtherOSOptionsGroup;
Jose Pascoal810950b2014-10-09 17:16:08 +010046 private Button mOtherOSOptionsButton;
47 private Version mDeviceVersion;
48 private BroadcastReceiver newVersionbroadcastReceiver;
Jose Pascoal2666b892014-10-02 21:05:08 +010049
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +000050 private RelativeLayout mGappsIcon;
Tiago Costadaaa32c2015-01-08 12:12:24 +000051 private Button mGappsButton;
52 private Button mGappsDismissButton;
Tiago Costa1216b102015-03-10 15:48:18 +000053 private LinearLayout mDevModeUrlContainer;
54 private EditText mDevModeUrlEditText;
55 private Button mDevModeUrlButton;
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +000056 private int mIsDevModeCounter;
Tiago Costadaaa32c2015-01-08 12:12:24 +000057
Jose Pascoal810950b2014-10-09 17:16:08 +010058 @Override
59 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
60 {
61 // Inflate the layout for this fragment
62 View view = inflater.inflate(R.layout.fragment_main, container, false);
Jose Pascoal2666b892014-10-02 21:05:08 +010063
Jose Pascoalee8a8eb2014-10-15 15:20:28 +010064 setupLayout(inflater, view);
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +000065 mDevModeUrlContainer.setVisibility(FairphoneUpdater.DEV_MODE_ENABLED ? View.VISIBLE : View.GONE);
66 mIsDevModeCounter = FairphoneUpdater.DEV_MODE_ENABLED ? 0 : 10;
Jose Pascoal2666b892014-10-02 21:05:08 +010067
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +000068 return view;
Jose Pascoal810950b2014-10-09 17:16:08 +010069 }
Jose Pascoal2666b892014-10-02 21:05:08 +010070
Jose Pascoal810950b2014-10-09 17:16:08 +010071 private void updateHeader()
72 {
73 if (Version.IMAGE_TYPE_FAIRPHONE.equalsIgnoreCase(mDeviceVersion.getImageType()))
74 {
Tiago Costa3855faa2014-11-14 17:55:05 +000075 mainActivity.updateHeader(HeaderType.MAIN_FAIRPHONE, "", false);
Jose Pascoal810950b2014-10-09 17:16:08 +010076 }
77 else if (Version.IMAGE_TYPE_AOSP.equalsIgnoreCase(mDeviceVersion.getImageType()))
78 {
Tiago Costa3855faa2014-11-14 17:55:05 +000079 mainActivity.updateHeader(HeaderType.MAIN_ANDROID, "", false);
Jose Pascoal810950b2014-10-09 17:16:08 +010080 }
81 }
Jose Pascoalb690af12014-10-06 18:29:26 +010082
Jose Pascoalee8a8eb2014-10-15 15:20:28 +010083 private void setupLayout(LayoutInflater inflater, View view)
Jose Pascoal810950b2014-10-09 17:16:08 +010084 {
Jose Pascoalee8a8eb2014-10-15 15:20:28 +010085 setupCurrentVersionGroup(inflater, view);
86
Jose Pascoal810950b2014-10-09 17:16:08 +010087 // Version up to date group
88 mVersionUpToDateGroup = (LinearLayout) view.findViewById(R.id.version_up_to_date_group);
89 mVersionUpToDateCurrentVersionNameText = (TextView) view.findViewById(R.id.version_up_to_date_current_version_name_text);
Jose Pascoal2666b892014-10-02 21:05:08 +010090
Jose Pascoal810950b2014-10-09 17:16:08 +010091 // Update available group
92 mUpdateAvailableGroup = (LinearLayout) view.findViewById(R.id.update_available_group);
93 mUpdateAvailableCurrentVersionNameText = (TextView) view.findViewById(R.id.update_available_current_version_name_text);
94 mUpdateAvailableNameText = (TextView) view.findViewById(R.id.update_available_name_text);
95 mUpdateAvailableInstallButton = (Button) view.findViewById(R.id.install_update_button);
Jose Pascoal2666b892014-10-02 21:05:08 +010096
Jose Pascoal810950b2014-10-09 17:16:08 +010097 // Other OS Options group
Jose Pascoalfe1cb412014-10-09 18:45:59 +010098 mOtherOSOptionsGroup = (LinearLayout) view.findViewById(R.id.other_os_options_group);
Jose Pascoal810950b2014-10-09 17:16:08 +010099 mOtherOSOptionsButton = (Button) view.findViewById(R.id.other_os_options_button);
Tiago Costadaaa32c2015-01-08 12:12:24 +0000100
101 // gapps
102 mGappsButton = (Button) view.findViewById(R.id.install_gapps_button);
103 mGappsDismissButton = (Button) view.findViewById(R.id.install_gapps_dismiss_button);
104 mGappsIcon = (RelativeLayout) view.findViewById(R.id.gapps_reminder_group);
Tiago Costa1216b102015-03-10 15:48:18 +0000105
106 // Dev mode
107 mDevModeUrlEditText = (EditText)view.findViewById(R.id.dev_mode_url_edit_text);
108 mDevModeUrlButton = (Button)view.findViewById(R.id.dev_mode_url_ok_button);
109 mDevModeUrlContainer = (LinearLayout)view.findViewById(R.id.dev_mode_url_container);
110
Filipe72b5a7f2015-09-01 08:59:54 +0000111 mDevModeUrlEditText.setText(FairphoneUpdater.otaDevDownloadUrl);
112
Tiago Costa1216b102015-03-10 15:48:18 +0000113 mDevModeUrlButton.setOnClickListener(new OnClickListener() {
114 @Override
115 public void onClick(View v) {
116 String url = mDevModeUrlEditText.getText().toString();
117
118 // set the URL for the shared prefs
119 mainActivity.changeOTADownloadURL(url);
120
Jose Pascoaldca09ac2015-03-11 16:35:06 +0000121 // download new config
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +0000122 mainActivity.forceConfigDownload();
Tiago Costa1216b102015-03-10 15:48:18 +0000123 }
124 });
125
Tiago Costadaaa32c2015-01-08 12:12:24 +0000126 }
127
128 private boolean getGappsInstalationButtonState()
129 {
Jose Pascoal87758742015-01-28 20:00:22 +0000130 boolean showGappsGroup = mSharedPreferences.getBoolean(SHARED_PREFERENCES_ENABLE_GAPPS, true);
131 boolean gappsNotInstalled = !GappsInstallerHelper.areGappsInstalled();
Jose Pascoal055562d2015-03-19 19:31:38 +0000132 boolean hasStoreInfo = Utils.getGappsStore() != null;
Jose Pascoal87758742015-01-28 20:00:22 +0000133 return showGappsGroup && gappsNotInstalled && hasStoreInfo;
Tiago Costadaaa32c2015-01-08 12:12:24 +0000134 }
Tiago Costa5b621322015-01-08 12:22:56 +0000135
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000136 private void disableGappsInstalationButton()
Tiago Costadaaa32c2015-01-08 12:12:24 +0000137 {
138 Editor edit = mSharedPreferences.edit();
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000139 edit.putBoolean(SHARED_PREFERENCES_ENABLE_GAPPS, false);
Tiago Costa5b621322015-01-08 12:22:56 +0000140
Jose Pascoal0b48f8d2015-02-06 16:06:41 +0000141 edit.apply();
Jose Pascoal810950b2014-10-09 17:16:08 +0100142 }
Jose Pascoal2666b892014-10-02 21:05:08 +0100143
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100144 private void setupCurrentVersionGroup(LayoutInflater inflater, View view)
145 {
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000146 LinearLayout mCurrentVersionGroup = (LinearLayout) view.findViewById(R.id.current_version_group);
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100147
148 View updateGroupView = null;
149 if (Version.IMAGE_TYPE_FAIRPHONE.equalsIgnoreCase(mainActivity.getDeviceVersion().getImageType()))
150 {
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000151 updateGroupView = inflater.inflate(R.layout.fragment_main_update_available_fairphone, mCurrentVersionGroup);
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100152 }
153 else if (Version.IMAGE_TYPE_AOSP.equalsIgnoreCase(mainActivity.getDeviceVersion().getImageType()))
154 {
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000155 updateGroupView = inflater.inflate(R.layout.fragment_main_update_available_android, mCurrentVersionGroup);
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100156 }
157 if (updateGroupView != null)
158 {
159 updateGroupView.setLayoutParams(mCurrentVersionGroup.getLayoutParams());
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100160 }
161 }
162
Tiago Costadaaa32c2015-01-08 12:12:24 +0000163 private void enableGappsGroup(boolean showAndEnable)
164 {
165 if (showAndEnable)
166 {
167 mGappsIcon.setVisibility(View.VISIBLE);
168
169 mGappsButton.setOnClickListener(new OnClickListener()
170 {
171
172 @Override
173 public void onClick(View v)
174 {
175 startGappsInstall();
176 }
177 });
Tiago Costa5b621322015-01-08 12:22:56 +0000178
Tiago Costadaaa32c2015-01-08 12:12:24 +0000179 mGappsDismissButton.setOnClickListener(new OnClickListener()
180 {
181
182 @Override
183 public void onClick(View v)
184 {
185 mGappsIcon.setVisibility(View.GONE);
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000186 disableGappsInstalationButton();
Tiago Costadaaa32c2015-01-08 12:12:24 +0000187 }
188 });
189 }
190 else
191 {
192 mGappsIcon.setVisibility(View.GONE);
Tiago Costadaaa32c2015-01-08 12:12:24 +0000193 }
194 }
195
196 private void startGappsInstall()
197 {
Jose Pascoal87758742015-01-28 20:00:22 +0000198 Fragment gappsFragment = mainActivity.startGappsInstall();
199 mainActivity.changeFragment(gappsFragment);
Tiago Costadaaa32c2015-01-08 12:12:24 +0000200 }
201
Jose Pascoal810950b2014-10-09 17:16:08 +0100202 private void updateOtherOSOptionsGroup()
203 {
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000204 if (UpdaterData.getInstance().isFairphoneVersionListNotEmpty() || UpdaterData.getInstance().isAOSPVersionListNotEmpty())
Jose Pascoal810950b2014-10-09 17:16:08 +0100205 {
Jose Pascoalfe1cb412014-10-09 18:45:59 +0100206 mOtherOSOptionsGroup.setVisibility(View.VISIBLE);
207 mOtherOSOptionsButton.setOnClickListener(new OnClickListener()
Jose Pascoal810950b2014-10-09 17:16:08 +0100208 {
Jose Pascoalfe1cb412014-10-09 18:45:59 +0100209
210 @Override
211 public void onClick(View v)
212 {
213 OtherOSOptionsFragment newFragment = new OtherOSOptionsFragment();
214 mainActivity.changeFragment(newFragment);
215 }
216 });
217 }
218 else
219 {
220 mOtherOSOptionsGroup.setVisibility(View.GONE);
221 }
Jose Pascoal810950b2014-10-09 17:16:08 +0100222 }
Jose Pascoal2666b892014-10-02 21:05:08 +0100223
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000224 void toogleUpdateAvailableGroup()
Jose Pascoal810950b2014-10-09 17:16:08 +0100225 {
Jose Pascoal8ed98d62014-10-09 20:41:11 +0100226 updateCurrentVersionGroup();
227
Jose Pascoal810950b2014-10-09 17:16:08 +0100228 if (mainActivity.isUpdateAvailable())
229 {
230 mVersionUpToDateGroup.setVisibility(View.GONE);
231 mUpdateAvailableGroup.setVisibility(View.VISIBLE);
Jose Pascoal2666b892014-10-02 21:05:08 +0100232
Jose Pascoal810950b2014-10-09 17:16:08 +0100233 updateUpdateAvailableGroup();
234 }
235 else
236 {
Tiago Costa5b621322015-01-08 12:22:56 +0000237 if (mUpdateAvailableGroup != null)
238 {
239 mUpdateAvailableGroup.setVisibility(View.GONE);
240 }
241
242 if( mVersionUpToDateGroup != null){
243 mVersionUpToDateGroup.setVisibility(View.VISIBLE);
244 }
Jose Pascoal810950b2014-10-09 17:16:08 +0100245 }
Jose Pascoal8ed98d62014-10-09 20:41:11 +0100246
Jose Pascoalfe1cb412014-10-09 18:45:59 +0100247 updateOtherOSOptionsGroup();
Jose Pascoal810950b2014-10-09 17:16:08 +0100248 }
Jose Pascoal2666b892014-10-02 21:05:08 +0100249
Jose Pascoal810950b2014-10-09 17:16:08 +0100250 private void updateUpdateAvailableGroup()
251 {
252 mUpdateAvailableNameText.setText(mainActivity.getLatestVersionName());
253 mUpdateAvailableInstallButton.setOnClickListener(new OnClickListener()
254 {
Jose Pascoal2666b892014-10-02 21:05:08 +0100255
Jose Pascoal810950b2014-10-09 17:16:08 +0100256 @Override
257 public void onClick(View v)
258 {
Jose Pascoal02d86242014-12-17 18:50:08 +0000259 VersionDetailFragment fragment = new VersionDetailFragment(true);
Jose Pascoale4c48e32014-10-03 19:55:39 +0100260
Jose Pascoal810950b2014-10-09 17:16:08 +0100261 Version latestVersion = mainActivity.getLatestVersion();
262 if (latestVersion != null)
263 {
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100264 fragment.setupFragment(latestVersion, getDetailLayoutFromDeviceVersion(latestVersion));
Jose Pascoal810950b2014-10-09 17:16:08 +0100265 mainActivity.changeFragment(fragment);
266 }
267 }
268 });
269 }
Jose Pascoal2666b892014-10-02 21:05:08 +0100270
Jose Pascoalcfc2dd42015-02-09 18:00:05 +0000271 private static VersionDetailFragment.DetailLayoutType getDetailLayoutFromDeviceVersion(Version latestVersion)
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100272 {
273 VersionDetailFragment.DetailLayoutType type = DetailLayoutType.UPDATE_FAIRPHONE;
274 if (Version.IMAGE_TYPE_FAIRPHONE.equalsIgnoreCase(latestVersion.getImageType()))
275 {
276 type = DetailLayoutType.UPDATE_FAIRPHONE;
277 }
278 else if (Version.IMAGE_TYPE_AOSP.equalsIgnoreCase(latestVersion.getImageType()))
279 {
280 type = DetailLayoutType.UPDATE_ANDROID;
281 }
282 return type;
283 }
284
Jose Pascoal810950b2014-10-09 17:16:08 +0100285 private void updateCurrentVersionGroup()
286 {
287 String currentVersionName = mainActivity.getDeviceVersionName();
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100288
Tiago Costadaaa32c2015-01-08 12:12:24 +0000289 if (mVersionUpToDateCurrentVersionNameText != null)
Jose Pascoal810950b2014-10-09 17:16:08 +0100290 {
Tiago Costadaaa32c2015-01-08 12:12:24 +0000291 mVersionUpToDateCurrentVersionNameText.setText(currentVersionName);
292 mVersionUpToDateCurrentVersionNameText.setOnClickListener(new OnClickListener()
Jose Pascoal810950b2014-10-09 17:16:08 +0100293 {
Tiago Costadaaa32c2015-01-08 12:12:24 +0000294 @Override
295 public void onClick(View v)
296 {
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +0000297 onEnableDevMode();
Tiago Costadaaa32c2015-01-08 12:12:24 +0000298 }
299 });
300 }
301
302 if (mUpdateAvailableCurrentVersionNameText != null)
303 {
304 mUpdateAvailableCurrentVersionNameText.setText(currentVersionName);
305 mUpdateAvailableCurrentVersionNameText.setOnClickListener(new OnClickListener()
306 {
307 @Override
308 public void onClick(View v)
309 {
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +0000310 onEnableDevMode();
Tiago Costadaaa32c2015-01-08 12:12:24 +0000311 }
312 });
313 }
Jose Pascoal810950b2014-10-09 17:16:08 +0100314 }
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100315
Jose Pascoal810950b2014-10-09 17:16:08 +0100316 @Override
317 public void onResume()
318 {
319 super.onResume();
320 setupBroadcastReceiver();
Jose Pascoal810950b2014-10-09 17:16:08 +0100321 registerBroadCastReceiver();
Jose Pascoalfe1cb412014-10-09 18:45:59 +0100322
Jose Pascoal8ed98d62014-10-09 20:41:11 +0100323 mDeviceVersion = mainActivity.getDeviceVersion();
Jose Pascoalfe1cb412014-10-09 18:45:59 +0100324 updateHeader();
325 updateCurrentVersionGroup();
326 toogleUpdateAvailableGroup();
327 updateOtherOSOptionsGroup();
Jose Pascoal87758742015-01-28 20:00:22 +0000328 enableGappsGroup(getGappsInstalationButtonState());
Jose Pascoal810950b2014-10-09 17:16:08 +0100329 }
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100330
Jose Pascoal810950b2014-10-09 17:16:08 +0100331 @Override
332 public void onPause()
333 {
334 super.onPause();
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100335
Jose Pascoal810950b2014-10-09 17:16:08 +0100336 unregisterBroadCastReceiver();
337 }
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100338
Filipe Gonçalvesb31d5862015-02-04 17:28:58 +0000339 void setupBroadcastReceiver()
Jose Pascoal810950b2014-10-09 17:16:08 +0100340 {
341 newVersionbroadcastReceiver = new BroadcastReceiver()
342 {
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100343
Jose Pascoal810950b2014-10-09 17:16:08 +0100344 @Override
345 public void onReceive(Context context, Intent intent)
346 {
347 String action = intent.getAction();
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100348
Jose Pascoal7bf83a02014-10-13 18:30:18 +0100349 if (FairphoneUpdater.FAIRPHONE_UPDATER_NEW_VERSION_RECEIVED.equals(action))
Jose Pascoal810950b2014-10-09 17:16:08 +0100350 {
351 mainActivity.updateLatestVersionFromConfig();
Jose Pascoal4fe7ba52015-03-13 16:54:31 +0000352 if (mainActivity.getCurrentUpdaterState() != UpdaterState.DOWNLOAD && mainActivity.getCurrentUpdaterState() != UpdaterState.PREINSTALL)
Jose Pascoal810950b2014-10-09 17:16:08 +0100353 {
354 toogleUpdateAvailableGroup();
Jose Pascoal87758742015-01-28 20:00:22 +0000355 enableGappsGroup(getGappsInstalationButtonState());
Jose Pascoal810950b2014-10-09 17:16:08 +0100356 }
357 }
Jose Pascoal7bf83a02014-10-13 18:30:18 +0100358 else if (FairphoneUpdater.FAIRPHONE_UPDATER_CONFIG_DOWNLOAD_FAILED.equals(action))
Jose Pascoal810950b2014-10-09 17:16:08 +0100359 {
Jose Pascoal7bf83a02014-10-13 18:30:18 +0100360 String link = intent.getStringExtra(FairphoneUpdater.FAIRPHONE_UPDATER_CONFIG_DOWNLOAD_LINK);
Jose Pascoalee8a8eb2014-10-15 15:20:28 +0100361 Toast.makeText(context.getApplicationContext(),
362 context.getResources().getString(R.string.config_file_download_link_error_message) + " " + link, Toast.LENGTH_LONG).show();
Jose Pascoal810950b2014-10-09 17:16:08 +0100363 }
364 }
365 };
366 }
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100367
Jose Pascoal810950b2014-10-09 17:16:08 +0100368 private void registerBroadCastReceiver()
369 {
370 IntentFilter iFilter = new IntentFilter();
Jose Pascoal7bf83a02014-10-13 18:30:18 +0100371 iFilter.addAction(FairphoneUpdater.FAIRPHONE_UPDATER_NEW_VERSION_RECEIVED);
372 iFilter.addAction(FairphoneUpdater.FAIRPHONE_UPDATER_CONFIG_DOWNLOAD_FAILED);
Jose Pascoal810950b2014-10-09 17:16:08 +0100373 mainActivity.registerReceiver(newVersionbroadcastReceiver, iFilter);
374 }
375
376 private void unregisterBroadCastReceiver()
377 {
378 mainActivity.unregisterReceiver(newVersionbroadcastReceiver);
379 }
Jose Pascoal54b3ae62014-10-07 20:29:58 +0100380
Filipe Gonçalves1e69a0e2015-03-16 17:22:55 +0000381 public void onEnableDevMode()
382 {
383 if (!FairphoneUpdater.DEV_MODE_ENABLED)
384 {
385 mIsDevModeCounter--;
386
387 Log.d(TAG, "Developer mode in " + mIsDevModeCounter + " Clicks...");
388
389 if (mIsDevModeCounter <= 0)
390 {
391 FairphoneUpdater.DEV_MODE_ENABLED = true;
392
393 Toast.makeText(mainActivity.getApplicationContext(), getResources().getString(R.string.dev_mode_message), Toast.LENGTH_LONG).show();
394
395 Log.d(TAG, "Developer mode enabled for this session");
396
397 mDevModeUrlContainer.setVisibility(FairphoneUpdater.DEV_MODE_ENABLED ? View.VISIBLE : View.GONE);
398 mainActivity.forceConfigDownload();
399 //Utils.downloadConfigFile(this, true);
400 }
401 }
402 }
Jose Pascoal91aff132014-10-02 17:19:47 +0100403}