Jose Pascoal | 91aff13 | 2014-10-02 17:19:47 +0100 | [diff] [blame] | 1 | package com.fairphone.updater.fragments; |
| 2 | |
| 3 | import android.os.Bundle; |
| 4 | import android.view.LayoutInflater; |
| 5 | import android.view.View; |
| 6 | import android.view.View.OnClickListener; |
| 7 | import android.view.ViewGroup; |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 8 | import android.widget.Button; |
| 9 | import android.widget.LinearLayout; |
| 10 | import android.widget.TextView; |
| 11 | import android.widget.Toast; |
Jose Pascoal | 91aff13 | 2014-10-02 17:19:47 +0100 | [diff] [blame] | 12 | |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 13 | import com.fairphone.updater.FairphoneUpdater2Activity.HeaderType; |
Jose Pascoal | 91aff13 | 2014-10-02 17:19:47 +0100 | [diff] [blame] | 14 | import com.fairphone.updater.R; |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 15 | import com.fairphone.updater.Version; |
Jose Pascoal | 91aff13 | 2014-10-02 17:19:47 +0100 | [diff] [blame] | 16 | |
| 17 | public class MainFragment extends BaseFragment { |
| 18 | |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 19 | private TextView mCurrentVersionNameText; |
| 20 | private LinearLayout mVersionUpToDateGroup; |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 21 | // private Button mVersionUpToDateOlderOSVersionButton; |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 22 | private LinearLayout mUpdateAvailableGroup; |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 23 | // private Button mUpdateAvailableOlderOSVersionButton; |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 24 | private TextView mUpdateAvailableNameText; |
| 25 | private Button mUpdateAvailableInstallButton; |
| 26 | private Button mOtherOSOptionsButton; |
Jose Pascoal | b690af1 | 2014-10-06 18:29:26 +0100 | [diff] [blame^] | 27 | private Version mDeviceVersion; |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 28 | |
Jose Pascoal | 91aff13 | 2014-10-02 17:19:47 +0100 | [diff] [blame] | 29 | @Override |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 30 | public View onCreateView(LayoutInflater inflater, ViewGroup container, |
| 31 | Bundle savedInstanceState) { |
| 32 | // Inflate the layout for this fragment |
Jose Pascoal | 91aff13 | 2014-10-02 17:19:47 +0100 | [diff] [blame] | 33 | View view = inflater.inflate(R.layout.fragment_main, container, false); |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 34 | |
| 35 | setupLayout(view); |
| 36 | |
Jose Pascoal | b690af1 | 2014-10-06 18:29:26 +0100 | [diff] [blame^] | 37 | mDeviceVersion = mainActivity.getDeviceVersion(); |
| 38 | updateHeader(); |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 39 | updateCurrentVersionGroup(); |
| 40 | toogleUpdateAvailableGroup(); |
| 41 | updateOtherOSOptionsGroup(); |
| 42 | |
| 43 | return view; |
| 44 | } |
| 45 | |
Jose Pascoal | b690af1 | 2014-10-06 18:29:26 +0100 | [diff] [blame^] | 46 | 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 Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 54 | private void setupLayout(View view) { |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 55 | // Current version group |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 56 | mCurrentVersionNameText = (TextView) view |
| 57 | .findViewById(R.id.current_version_name_text); |
| 58 | |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 59 | // Version up to date group |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 60 | mVersionUpToDateGroup = (LinearLayout) view |
| 61 | .findViewById(R.id.version_up_to_date_group); |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 62 | // mVersionUpToDateOlderOSVersionButton = (Button) view |
| 63 | // .findViewById(R.id.older_os_version_button); |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 64 | |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 65 | // Update available group |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 66 | 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 Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 72 | // mUpdateAvailableOlderOSVersionButton = (Button) view |
| 73 | // .findViewById(R.id.other_os_version_button); |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 74 | |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 75 | // Other OS Options group |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 76 | mOtherOSOptionsButton = (Button) view |
| 77 | .findViewById(R.id.other_os_options_button); |
| 78 | } |
| 79 | |
| 80 | private void updateOtherOSOptionsGroup() { |
| 81 | mOtherOSOptionsButton.setOnClickListener(new OnClickListener() { |
| 82 | |
Jose Pascoal | 91aff13 | 2014-10-02 17:19:47 +0100 | [diff] [blame] | 83 | @Override |
| 84 | public void onClick(View v) { |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 85 | Toast.makeText(mainActivity, "Procced to other OS options", |
| 86 | Toast.LENGTH_LONG).show(); |
Jose Pascoal | 91aff13 | 2014-10-02 17:19:47 +0100 | [diff] [blame] | 87 | } |
| 88 | }); |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 89 | } |
| 90 | |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 91 | public void toogleUpdateAvailableGroup() { |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 92 | if (mainActivity.isUpdateAvailable()) { |
| 93 | mVersionUpToDateGroup.setVisibility(View.GONE); |
| 94 | mUpdateAvailableGroup.setVisibility(View.VISIBLE); |
| 95 | |
| 96 | updateUpdateAvailableGroup(); |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 97 | } else { |
| 98 | mUpdateAvailableGroup.setVisibility(View.GONE); |
| 99 | mVersionUpToDateGroup.setVisibility(View.VISIBLE); |
| 100 | |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 101 | // updateOlderVersionsButton(); |
Jose Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 102 | |
| 103 | } |
| 104 | } |
| 105 | |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 106 | // 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 Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 118 | |
| 119 | private void updateUpdateAvailableGroup() { |
| 120 | mUpdateAvailableNameText.setText(mainActivity.getLatestVersionName()); |
| 121 | mUpdateAvailableInstallButton.setOnClickListener(new OnClickListener() { |
| 122 | |
| 123 | @Override |
| 124 | public void onClick(View v) { |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 125 | 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 Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 139 | } |
| 140 | }); |
| 141 | |
Jose Pascoal | e4c48e3 | 2014-10-03 19:55:39 +0100 | [diff] [blame] | 142 | // 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 Pascoal | 2666b89 | 2014-10-02 21:05:08 +0100 | [diff] [blame] | 152 | } |
| 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 Pascoal | 91aff13 | 2014-10-02 17:19:47 +0100 | [diff] [blame] | 163 | } |