1717package com .f2prateek .dfg .ui ;
1818
1919import android .app .Activity ;
20- import android .app .Fragment ;
2120import android .content .Intent ;
2221import android .content .SharedPreferences ;
2322import android .net .Uri ;
2423import android .os .Bundle ;
2524import android .view .LayoutInflater ;
26- import android .view .Menu ;
27- import android .view .MenuInflater ;
28- import android .view .MenuItem ;
2925import android .view .View ;
3026import android .view .ViewGroup ;
3127import android .widget .ImageView ;
3228import android .widget .TextView ;
3329import butterknife .InjectView ;
3430import butterknife .OnClick ;
35- import butterknife .Views ;
3631import com .f2prateek .dfg .AppConstants ;
37- import com .f2prateek .dfg .DFGApplication ;
3832import com .f2prateek .dfg .Events ;
3933import com .f2prateek .dfg .R ;
4034import com .f2prateek .dfg .core .GenerateFrameService ;
4135import com .f2prateek .dfg .model .Device ;
4236import com .f2prateek .dfg .model .DeviceProvider ;
43- import com .squareup .otto .Bus ;
37+ import com .squareup .otto .Subscribe ;
4438import com .squareup .picasso .Picasso ;
4539import javax .inject .Inject ;
4640
47- public class DeviceFragment extends Fragment {
41+ public class DeviceFragment extends BaseFragment {
4842
4943 private static final int RESULT_SELECT_PICTURE = 542 ;
50- @ Inject Bus bus ;
5144 @ Inject SharedPreferences sharedPreferences ;
5245 @ InjectView (R .id .tv_device_resolution ) TextView tv_device_resolution ;
5346 @ InjectView (R .id .tv_device_size ) TextView tv_device_size ;
5447 @ InjectView (R .id .tv_device_name ) TextView tv_device_name ;
5548 @ InjectView (R .id .iv_device_thumbnail ) ImageView iv_device_thumbnail ;
49+ @ InjectView (R .id .iv_device_default ) ImageView iv_device_default ;
5650 private Device device ;
5751 private int deviceNum ;
5852
@@ -70,68 +64,50 @@ public void onCreate(Bundle savedInstanceState) {
7064 super .onCreate (savedInstanceState );
7165 deviceNum = getArguments () != null ? getArguments ().getInt ("num" , 0 ) : 0 ;
7266 device = DeviceProvider .getDevices ().get (deviceNum );
73- ((DFGApplication ) getActivity ().getApplication ()).inject (this );
7467 setHasOptionsMenu (true );
7568 }
7669
77- @ Override
78- public void onResume () {
79- super .onResume ();
80- bus .register (this );
81- }
82-
8370 @ Override
8471 public View onCreateView (LayoutInflater inflater , ViewGroup container ,
8572 Bundle savedInstanceState ) {
86- View v = inflater .inflate (R .layout .fragment_device , container , false );
87- Views .inject (this , v );
88- return v ;
73+ return inflater .inflate (R .layout .fragment_device , container , false );
8974 }
9075
9176 @ Override
9277 public void onViewCreated (View view , Bundle savedInstanceState ) {
9378 super .onViewCreated (view , savedInstanceState );
9479 Picasso .with (getActivity ()).load (device .getThumbnail ()).into (iv_device_thumbnail );
80+ iv_device_default .bringToFront ();
81+ iv_device_default .setImageResource (
82+ isDefault () ? R .drawable .ic_action_star_selected : R .drawable .ic_action_star );
9583 tv_device_size .setText (device .getPhysicalSize () + "\" @ " + device .getDensity () + "dpi" );
9684 tv_device_name .setText (device .getName ());
9785 tv_device_resolution .setText (device .getRealSize ()[0 ] + "x" + device .getRealSize ()[1 ]);
9886 }
9987
100- @ Override
101- public void onCreateOptionsMenu (Menu menu , MenuInflater inflater ) {
102- super .onCreateOptionsMenu (menu , inflater );
103- inflater .inflate (R .menu .fragment_device , menu );
88+ @ OnClick (R .id .iv_device_default )
89+ public void updateDefaultDevice () {
10490 if (isDefault ()) {
105- MenuItem item = menu .findItem (R .id .menu_default_device );
106- item .setIcon (R .drawable .ic_action_star_selected );
91+ return ;
10792 }
108- }
109-
110- @ Override
111- public boolean onOptionsItemSelected (MenuItem item ) {
112- switch (item .getItemId ()) {
113- case R .id .menu_default_device :
114- updateDefaultDevice ();
115- return true ;
116- }
117- return super .onOptionsItemSelected (item );
118- }
119-
120- private boolean isDefault () {
121- return deviceNum == sharedPreferences .getInt (AppConstants .KEY_PREF_DEFAULT_DEVICE , 0 );
122- }
123-
124- public void updateDefaultDevice () {
12593 SharedPreferences .Editor editor = sharedPreferences .edit ();
12694 editor .putInt (AppConstants .KEY_PREF_DEFAULT_DEVICE , deviceNum );
12795 editor .commit ();
12896 bus .post (new Events .DefaultDeviceUpdated (deviceNum ));
12997 }
13098
131- @ Override
132- public void onPause () {
133- bus .unregister (this );
134- super .onPause ();
99+ @ Subscribe
100+ public void onDefaultDeviceUpdated (Events .DefaultDeviceUpdated event ) {
101+ iv_device_default .post (new Runnable () {
102+ @ Override public void run () {
103+ iv_device_default .setImageResource (
104+ isDefault () ? R .drawable .ic_action_star_selected : R .drawable .ic_action_star );
105+ }
106+ });
107+ }
108+
109+ private boolean isDefault () {
110+ return deviceNum == sharedPreferences .getInt (AppConstants .KEY_PREF_DEFAULT_DEVICE , 0 );
135111 }
136112
137113 @ OnClick (R .id .iv_device_thumbnail )
0 commit comments