Updater gapps instalation
diff --git a/src/com/fairphone/updater/fragments/MainFragment.java b/src/com/fairphone/updater/fragments/MainFragment.java
index 3751710..648328e 100644
--- a/src/com/fairphone/updater/fragments/MainFragment.java
+++ b/src/com/fairphone/updater/fragments/MainFragment.java
@@ -4,6 +4,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -11,6 +12,7 @@
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
@@ -18,13 +20,17 @@
import com.fairphone.updater.FairphoneUpdater.HeaderType;
import com.fairphone.updater.FairphoneUpdater.UpdaterState;
import com.fairphone.updater.R;
+import com.fairphone.updater.data.Store;
import com.fairphone.updater.data.UpdaterData;
import com.fairphone.updater.data.Version;
import com.fairphone.updater.fragments.VersionDetailFragment.DetailLayoutType;
+import com.fairphone.updater.gappsinstaller.GappsInstallerHelper;
public class MainFragment extends BaseFragment
{
+ private static String SHARED_PREFERENCES_ENABLE_GAPPS = "SHARED_PREFERENCES_ENABLE_GAPPS";
+
private LinearLayout mVersionUpToDateGroup;
private TextView mVersionUpToDateCurrentVersionNameText;
private LinearLayout mUpdateAvailableGroup;
@@ -37,6 +43,10 @@
private BroadcastReceiver newVersionbroadcastReceiver;
private LinearLayout mCurrentVersionGroup;
+ private RelativeLayout mGappsIcon;
+ private Button mGappsButton;
+ private Button mGappsDismissButton;
+
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
@@ -77,6 +87,26 @@
// Other OS Options group
mOtherOSOptionsGroup = (LinearLayout) view.findViewById(R.id.other_os_options_group);
mOtherOSOptionsButton = (Button) view.findViewById(R.id.other_os_options_button);
+
+ // gapps
+ mGappsButton = (Button) view.findViewById(R.id.install_gapps_button);
+ mGappsDismissButton = (Button) view.findViewById(R.id.install_gapps_dismiss_button);
+ mGappsIcon = (RelativeLayout) view.findViewById(R.id.gapps_reminder_group);
+
+ enableGappsGroup(getGappsInstalationButtonState());
+ }
+
+ private boolean getGappsInstalationButtonState()
+ {
+ return mSharedPreferences.getBoolean(SHARED_PREFERENCES_ENABLE_GAPPS, true) && !GappsInstallerHelper.areGappsInstalled();
+ }
+
+ private void setGappsInstalationButtonState(boolean enableGapps)
+ {
+ Editor edit = mSharedPreferences.edit();
+ edit.putBoolean(SHARED_PREFERENCES_ENABLE_GAPPS, enableGapps);
+
+ edit.commit();
}
private void setupCurrentVersionGroup(LayoutInflater inflater, View view)
@@ -99,6 +129,45 @@
}
}
+ private void enableGappsGroup(boolean showAndEnable)
+ {
+ if (showAndEnable)
+ {
+ mGappsIcon.setVisibility(View.VISIBLE);
+
+ mGappsButton.setOnClickListener(new OnClickListener()
+ {
+
+ @Override
+ public void onClick(View v)
+ {
+ startGappsInstall();
+ }
+ });
+
+ mGappsDismissButton.setOnClickListener(new OnClickListener()
+ {
+
+ @Override
+ public void onClick(View v)
+ {
+ mGappsIcon.setVisibility(View.GONE);
+ setGappsInstalationButtonState(false);
+ }
+ });
+ }
+ else
+ {
+ mGappsIcon.setVisibility(View.GONE);
+ setGappsInstalationButtonState(false);
+ }
+ }
+
+ private void startGappsInstall()
+ {
+ mainActivity.startGappsInstall();
+ }
+
private void updateOtherOSOptionsGroup()
{
if (!UpdaterData.getInstance().isFairphoneVersionListEmpty() || !UpdaterData.getInstance().isAOSPVersionListEmpty())
@@ -179,25 +248,32 @@
private void updateCurrentVersionGroup()
{
String currentVersionName = mainActivity.getDeviceVersionName();
- mVersionUpToDateCurrentVersionNameText.setText(currentVersionName);
- mVersionUpToDateCurrentVersionNameText.setOnClickListener(new OnClickListener()
- {
- @Override
- public void onClick(View v)
- {
- mainActivity.onEnableDevMode();
- }
- });
- mUpdateAvailableCurrentVersionNameText.setText(currentVersionName);
- mUpdateAvailableCurrentVersionNameText.setOnClickListener(new OnClickListener()
+ if (mVersionUpToDateCurrentVersionNameText != null)
{
- @Override
- public void onClick(View v)
+ mVersionUpToDateCurrentVersionNameText.setText(currentVersionName);
+ mVersionUpToDateCurrentVersionNameText.setOnClickListener(new OnClickListener()
{
- mainActivity.onEnableDevMode();
- }
- });
+ @Override
+ public void onClick(View v)
+ {
+ mainActivity.onEnableDevMode();
+ }
+ });
+ }
+
+ if (mUpdateAvailableCurrentVersionNameText != null)
+ {
+ mUpdateAvailableCurrentVersionNameText.setText(currentVersionName);
+ mUpdateAvailableCurrentVersionNameText.setOnClickListener(new OnClickListener()
+ {
+ @Override
+ public void onClick(View v)
+ {
+ mainActivity.onEnableDevMode();
+ }
+ });
+ }
}
@Override