blob: 0da02601e3ae11efba5c276879c543dad19baa16 [file] [log] [blame]
Jose Pascoal91aff132014-10-02 17:19:47 +01001package com.fairphone.updater.fragments;
2
3import android.os.Bundle;
4import android.view.LayoutInflater;
5import android.view.View;
6import android.view.View.OnClickListener;
7import android.view.ViewGroup;
Jose Pascoal2666b892014-10-02 21:05:08 +01008import android.widget.Button;
9import android.widget.LinearLayout;
10import android.widget.TextView;
11import android.widget.Toast;
Jose Pascoal91aff132014-10-02 17:19:47 +010012
Jose Pascoal2666b892014-10-02 21:05:08 +010013import com.fairphone.updater.FairphoneUpdater2Activity.HeaderType;
Jose Pascoal91aff132014-10-02 17:19:47 +010014import com.fairphone.updater.R;
Jose Pascoale4c48e32014-10-03 19:55:39 +010015import com.fairphone.updater.Version;
Jose Pascoal91aff132014-10-02 17:19:47 +010016
17public class MainFragment extends BaseFragment {
18
Jose Pascoal2666b892014-10-02 21:05:08 +010019 private TextView mCurrentVersionNameText;
20 private LinearLayout mVersionUpToDateGroup;
Jose Pascoale4c48e32014-10-03 19:55:39 +010021 // private Button mVersionUpToDateOlderOSVersionButton;
Jose Pascoal2666b892014-10-02 21:05:08 +010022 private LinearLayout mUpdateAvailableGroup;
Jose Pascoale4c48e32014-10-03 19:55:39 +010023 // private Button mUpdateAvailableOlderOSVersionButton;
Jose Pascoal2666b892014-10-02 21:05:08 +010024 private TextView mUpdateAvailableNameText;
25 private Button mUpdateAvailableInstallButton;
26 private Button mOtherOSOptionsButton;
Jose Pascoalb690af12014-10-06 18:29:26 +010027 private Version mDeviceVersion;
Jose Pascoal2666b892014-10-02 21:05:08 +010028
Jose Pascoal91aff132014-10-02 17:19:47 +010029 @Override
Jose Pascoal2666b892014-10-02 21:05:08 +010030 public View onCreateView(LayoutInflater inflater, ViewGroup container,
31 Bundle savedInstanceState) {
32 // Inflate the layout for this fragment
Jose Pascoal91aff132014-10-02 17:19:47 +010033 View view = inflater.inflate(R.layout.fragment_main, container, false);
Jose Pascoal2666b892014-10-02 21:05:08 +010034
35 setupLayout(view);
36
Jose Pascoalb690af12014-10-06 18:29:26 +010037 mDeviceVersion = mainActivity.getDeviceVersion();
38 updateHeader();
Jose Pascoal2666b892014-10-02 21:05:08 +010039 updateCurrentVersionGroup();
40 toogleUpdateAvailableGroup();
41 updateOtherOSOptionsGroup();
42
43 return view;
44 }
45
Jose Pascoalb690af12014-10-06 18:29:26 +010046 private void updateHeader() {
47 if(Version.IMAGE_TYPE_FAIRPHONE.equalsIgnoreCase(mDeviceVersion.getImageType())){
48 mainActivity.updateHeader(HeaderType.MAIN_FAIRPHONE, "");
49 }else if (Version.IMAGE_TYPE_AOSP.equalsIgnoreCase(mDeviceVersion.getImageType())){
50 mainActivity.updateHeader(HeaderType.MAIN_ANDROID, "");
51 }
52 }
53
Jose Pascoal2666b892014-10-02 21:05:08 +010054 private void setupLayout(View view) {
Jose Pascoale4c48e32014-10-03 19:55:39 +010055 // Current version group
Jose Pascoal2666b892014-10-02 21:05:08 +010056 mCurrentVersionNameText = (TextView) view
57 .findViewById(R.id.current_version_name_text);
58
Jose Pascoale4c48e32014-10-03 19:55:39 +010059 // Version up to date group
Jose Pascoal2666b892014-10-02 21:05:08 +010060 mVersionUpToDateGroup = (LinearLayout) view
61 .findViewById(R.id.version_up_to_date_group);
Jose Pascoale4c48e32014-10-03 19:55:39 +010062 // mVersionUpToDateOlderOSVersionButton = (Button) view
63 // .findViewById(R.id.older_os_version_button);
Jose Pascoal2666b892014-10-02 21:05:08 +010064
Jose Pascoale4c48e32014-10-03 19:55:39 +010065 // Update available group
Jose Pascoal2666b892014-10-02 21:05:08 +010066 mUpdateAvailableGroup = (LinearLayout) view
67 .findViewById(R.id.update_available_group);
68 mUpdateAvailableNameText = (TextView) view
69 .findViewById(R.id.update_available_name_text);
70 mUpdateAvailableInstallButton = (Button) view
71 .findViewById(R.id.install_update_button);
Jose Pascoale4c48e32014-10-03 19:55:39 +010072 // mUpdateAvailableOlderOSVersionButton = (Button) view
73 // .findViewById(R.id.other_os_version_button);
Jose Pascoal2666b892014-10-02 21:05:08 +010074
Jose Pascoale4c48e32014-10-03 19:55:39 +010075 // Other OS Options group
Jose Pascoal2666b892014-10-02 21:05:08 +010076 mOtherOSOptionsButton = (Button) view
77 .findViewById(R.id.other_os_options_button);
78 }
79
80 private void updateOtherOSOptionsGroup() {
81 mOtherOSOptionsButton.setOnClickListener(new OnClickListener() {
82
Jose Pascoal91aff132014-10-02 17:19:47 +010083 @Override
84 public void onClick(View v) {
Jose Pascoal2666b892014-10-02 21:05:08 +010085 Toast.makeText(mainActivity, "Procced to other OS options",
86 Toast.LENGTH_LONG).show();
Jose Pascoal91aff132014-10-02 17:19:47 +010087 }
88 });
Jose Pascoal2666b892014-10-02 21:05:08 +010089 }
90
Jose Pascoale4c48e32014-10-03 19:55:39 +010091 public void toogleUpdateAvailableGroup() {
Jose Pascoal2666b892014-10-02 21:05:08 +010092 if (mainActivity.isUpdateAvailable()) {
93 mVersionUpToDateGroup.setVisibility(View.GONE);
94 mUpdateAvailableGroup.setVisibility(View.VISIBLE);
95
96 updateUpdateAvailableGroup();
Jose Pascoal2666b892014-10-02 21:05:08 +010097 } else {
98 mUpdateAvailableGroup.setVisibility(View.GONE);
99 mVersionUpToDateGroup.setVisibility(View.VISIBLE);
100
Jose Pascoale4c48e32014-10-03 19:55:39 +0100101 // updateOlderVersionsButton();
Jose Pascoal2666b892014-10-02 21:05:08 +0100102
103 }
104 }
105
Jose Pascoale4c48e32014-10-03 19:55:39 +0100106 // private void updateOlderVersionsButton() {
107 // mVersionUpToDateOlderOSVersionButton
108 // .setOnClickListener(new OnClickListener() {
109 //
110 // @Override
111 // public void onClick(View v) {
112 // Toast.makeText(mainActivity,
113 // "Procced to older OS Versions",
114 // Toast.LENGTH_LONG).show();
115 // }
116 // });
117 // }
Jose Pascoal2666b892014-10-02 21:05:08 +0100118
119 private void updateUpdateAvailableGroup() {
120 mUpdateAvailableNameText.setText(mainActivity.getLatestVersionName());
121 mUpdateAvailableInstallButton.setOnClickListener(new OnClickListener() {
122
123 @Override
124 public void onClick(View v) {
Jose Pascoale4c48e32014-10-03 19:55:39 +0100125 VersionDetailFragment fragment = new VersionDetailFragment();
126
127 Version latestVersion = mainActivity.getLatestVersion();
128 if (latestVersion != null) {
129
130 fragment.setHeaderType(mainActivity
131 .getHeaderTypeFromImageType(latestVersion
132 .getImageType()), "Install update PASS",
133 "Update version PASS");
134 fragment.setVersion(latestVersion);
135
136 }
137
138 mainActivity.changeFragment(fragment);
Jose Pascoal2666b892014-10-02 21:05:08 +0100139 }
140 });
141
Jose Pascoale4c48e32014-10-03 19:55:39 +0100142 // mUpdateAvailableOlderOSVersionButton
143 // .setOnClickListener(new OnClickListener() {
144 //
145 // @Override
146 // public void onClick(View v) {
147 // Toast.makeText(mainActivity,
148 // "Procced to older OS Versions",
149 // Toast.LENGTH_LONG).show();
150 // }
151 // });
Jose Pascoal2666b892014-10-02 21:05:08 +0100152 }
153
154 private void updateCurrentVersionGroup() {
155 mCurrentVersionNameText.setText(mainActivity.getDeviceVersionName());
156 mCurrentVersionNameText.setOnClickListener(new OnClickListener() {
157 @Override
158 public void onClick(View v) {
159 mainActivity.onEnableDevMode();
160 }
161 });
162 }
Jose Pascoal91aff132014-10-02 17:19:47 +0100163}