package com.softwinner.launcher.ui; import com.softwinner.launcher.IStatusBar; import com.softwinner.launcher.R; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; public class StatusBar extends RelativeLayout implements IStatusBar{ private ImageView mHome; private StatusbarRight mStatusbarRight; private final int [] HOME_ID = { R.drawable.shome, R.drawable.home, }; private BroadcastReceiver mBr = new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent) { processReceiver(intent); } }; public StatusBar(Context context) { super(context); } public StatusBar(Context context, AttributeSet attrs) { super(context, attrs); } public void Zoomed(boolean sel){ if(sel){ mHome.setImageResource(HOME_ID[1]); }else{ mHome.setImageResource(HOME_ID[0]); } } @Override protected void onFinishInflate() { super.onFinishInflate(); mHome = (ImageView)findViewById(R.id.home); mHome.setImageResource(HOME_ID[0]); mHome.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(); intent.setClassName("com.softwinner.launcher", "com.softwinner.launcher.Launcher"); mContext.startActivity(intent); } }); mStatusbarRight = (StatusbarRight)findViewById(R.id.statusbar_right); } public void registerReceiver() { IntentFilter filter = new IntentFilter(); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); filter.addAction(WifiManager.RSSI_CHANGED_ACTION); filter.addAction(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); filter.addAction(ConnectivityManager.INET_CONDITION_ACTION); mContext.registerReceiver(mBr,filter); } public void unregisterReceiver(){ mContext.unregisterReceiver(mBr); } public void processReceiver(Intent intent) { if(mStatusbarRight != null){ mStatusbarRight.updateWifi(intent); } } }