代码

package com.bbk.appstore.ui;

import java.util.HashMap;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.LocalActivityManager;
import android.app.TabActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.TabHost;
import android.widget.TabWidget;
import android.widget.TextView;
import android.widget.TabHost.TabSpec;

import com.bbk.appstore.AppstoreApplication;
import com.bbk.appstore.R;
import com.bbk.appstore.download.AutoUpdateReceiver;
import com.bbk.appstore.download.AutoUpdateService;
import com.bbk.appstore.download.Management;
import com.bbk.appstore.download.OpenDownloadReceiver;
import com.bbk.appstore.download.OpenDownloadService;
import com.bbk.appstore.model.DataLoader;
import com.bbk.appstore.net.HttpConnect;
import com.bbk.appstore.net.HttpResponed;
import com.bbk.appstore.net.NetworkUtilities;

public class AppStore extends TabActivity implements ClickableTabHost.OnTabSelectedListener{
	private static final String TAG = "AppStore";
	private ChangeTabReceiver mReceiver = null;
	
	private static final String INTENT_ACTION_NETWORK_SETTINGS = "android.settings.NETWORK_SETTINGS";
	private static final String INTENT_ACTION_WIFI_SETTINGS = "android.settings.WIFI_SETTINGS";
	
	public static final String CHANGE_TAB_ACTION = "com.bbk.appstore.ACTION_CHANGE_TAG";
	public static final String EXTRA_TARGET_TAB_KEY = "com.bbk.appstore.TARGET_TAB";
	public static final String MANAGEMENT_TARGET_TAB_KEY = "com.bbk.appstore.MANAGEMENT_TARGET_TAB";
	
	public static final String ACTION_VIEW_HUB = "com.bbk.appstore.ACTION_VIEW_HUB_COMPLEX";
	
	public static final String ACTION_SEARCH = "com.bbk.appstore.Action.SEARCH_PACKAGE";
	
	private static final int DLG_NO_CONNECTION = 0;
	private static final int DLG_NO_WIFI = 1;
	
	private static final int MSG_VERSION_SUCCESS = 0;
	private static final int MSG_VERSION_FAILED = 1;
	
	private boolean mAppstoreStarted = false;
	
	private InputMethodManager mInputMethodManager;
	
	private SharedPreferences mUpdatePrefs = null;
	private UpdateChangedListener mUpdateChangedListener = null;
	private TextView mUpdateNumText = null;
	
    private int mFontSizeDefault;
    private int mFontSizeSmall;
    
    private Bundle mExtraData = null;  
    private Uri parameUri = null;
    private String hostStr = null;
    private String schemeStr = null;
    private LayoutInflater mInflater = null;
    private static HashMap<String, String> keyHashMap = new HashMap<String, String>();
    
    private String key = null;
    
    private TabWidget mTabwidget;
  
	private static Class<?> TAB_ACTIVITY_CLASSES[] = {
		RecommendedListActivity.class,
		CategoriyListActivity.class,
		TopPackageListActivity.class,
		Search.class,
		Management.class
	};
	//AccountUtils mAccount = null;
	
	private NetworkReceiver mNetworkChanedReceiver = null;
		
	private boolean mNewInstance = false;
	
	private boolean mPaused = true;
	
	private boolean mWifiChanged = false;
	
	private boolean noNetwork = false;
	
	@Override
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		this.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
		mInflater = LayoutInflater.from(this);
		
		setContentView(R.layout.appstore);
		
		Resources res = getResources();
        mFontSizeDefault = res.getDimensionPixelSize(R.dimen.app_notification_fontsize_default);
        mFontSizeSmall = res.getDimensionPixelSize(R.dimen.app_notification_fontsize_small);
//        httpConnect = new HttpConnect(this, null, null);
				
	    mNetworkChanedReceiver = new NetworkReceiver();
	    IntentFilter filter = new IntentFilter();
	    filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
	    registerReceiver(mNetworkChanedReceiver, filter);
	    
	    mNewInstance = true;	    
	}
	
	public void finish() {
		super.finish();
		AppstoreApplication.getInstance().setCache();
	}
	
	@Override
	protected void onResume(){
		super.onResume();
		mPaused = false;
		Intent intent = getIntent();
		Log.i(TAG, "onResume,intent.getAction = " + intent.getAction());
		int type = NetworkUtilities.getConnectionType(this);
		
		if (mNewInstance || !mAppstoreStarted || mWifiChanged){
			mNewInstance = false;			
			switch (type) {
			case NetworkUtilities.CONNECTION_TYPE_NULL:
				safeDismissDialog(DLG_NO_WIFI);
				showDialog(DLG_NO_CONNECTION);
				break;
			case NetworkUtilities.CONNECTION_TYPE_MOBILE:
				SharedPreferences prefs = AppstoreSettings.getSharedPreferences(this);
				int useMobile = prefs.getInt(AppstoreSettings.KEY_USE_MOBILE, 0);
				if (0 == useMobile) {
					safeDismissDialog(DLG_NO_CONNECTION);
					boolean can = prefs.getBoolean(AppstoreSettings.KEY_SAVE_FLOW_SETTING, false);
					
					mWifiChanged = false;
					if (can) {
						AppstoreSettings.mFlow = true;
						startAppStore();
					}else {
						showDialog(DLG_NO_WIFI, null);						
					}

				} else {
					startAppStore();
				}
				break;
			case NetworkUtilities.CONNECTION_TYPE_WIFI:
				startAppStore();
				break;
			default:
			}
		}
	}
	
	@Override
	protected void onPause(){
		super.onPause();
		mPaused = true;
		keyHashMap.clear();
	}
	
	private void startAppStore(){
				
		if(mAppstoreStarted){
			return;
		}
		mAppstoreStarted = true;
		PackageManager pm = getPackageManager();
		PackageInfo info = null;
		try{
			info = pm.getPackageInfo("com.bbk.appstore", PackageManager.GET_ACTIVITIES);				
		}catch (NameNotFoundException e){
			Log.i(TAG, "get com.bbk.appstore info from package, catch NameNotFoundException");
		}
		AppCheckTask task = new AppCheckTask(this, info.packageName, info.versionName, info.versionCode, false);
		TaskExcute taskExcute = new TaskExcute();
		taskExcute.excuteVersion(task);
		
		//mAccount = AccountUtils.getInstance(this);	
		//mAccount.autoLogin();
		
		IntentFilter intentFilter = new IntentFilter();
		intentFilter.addAction(CHANGE_TAB_ACTION);
		mReceiver = new ChangeTabReceiver();
		registerReceiver(mReceiver, intentFilter);
		
        mUpdatePrefs = 
			getSharedPreferences(AutoUpdateService.PREFERENCES_FILE_NAME_NEW_PACKAGE, Context.MODE_PRIVATE);
        mUpdateChangedListener = new UpdateChangedListener();
        mUpdatePrefs.registerOnSharedPreferenceChangeListener(mUpdateChangedListener);
		int updateNum = mUpdatePrefs.getInt(AutoUpdateService.PREFERENCES_KEY_NEW_PACKAGE_NUM, 0);		
		mUpdateNumText = (TextView)findViewById(R.id.update_noti_num);
		setUpdateNumText(mUpdateNumText, updateNum);
		
		//start the auto update service
		Intent in = new Intent(AutoUpdateReceiver.ACTION_CHECK_UPDATE);
		in.setClass(this, AutoUpdateReceiver.class);
		sendBroadcast(in);
		
		Intent mIntent = new Intent(OpenDownloadService.FORCE_STOP_PACKAGE);
		mIntent.setClass(this, OpenDownloadService.class);
		startService(mIntent);
		
		setupTabs();
		
		if (noNetwork) {
			Management.setTargetIndex(OpenDownloadReceiver.INSTALLED_TARGET_LABLE);
			getTabHost().setCurrentTabByTag(Management.class.getName());
			noNetwork = false;
			return;
		}
		
		Intent intent = getIntent();
		mExtraData = intent.getExtras();
		parameUri = intent.getData();
		if (parameUri != null) {
			hostStr = parameUri.getHost();
			schemeStr = parameUri.getScheme();
		}
//		Log.i(TAG, "intent.getAction() = "  +intent.getAction());
//		Log.i(TAG, "parameUri = " + parameUri);
		Log.i(TAG, "startAppStore ,intent.getAction() = " + intent.getAction());
//		Log.i(TAG, "mExtraData = " + mExtraData);
		if(ACTION_VIEW_HUB.equals(intent.getAction())){
			getTabHost().setCurrentTabByTag(CategoriyListActivity.class.getName());			
		}else if(ACTION_SEARCH.equals(intent.getAction())){
			key = intent.getStringExtra("APP_NAME");
			keyHashMap.put("key", key);
			getTabHost().setCurrentTabByTag(Search.class.getName());
		}else if (parameUri != null && hostStr != null && schemeStr != null) {
			if (hostStr.equals("market.android.com") || hostStr.equals("play.google.com")) {
				String path = parameUri.getEncodedPath();
				if (path != null && path.contains("details")) {
					getKeyWords("package_name",parameUri);
				}else {
					getKeyWords("key",parameUri);					
				}
				getTabHost().setCurrentTabByTag(Search.class.getName());
		    }else if (schemeStr.equals("market") || schemeStr.equals("goMarket")) {
				if (hostStr.equals("details")) {
					getKeyWords("package_name",parameUri);
				}else if (hostStr.equals("search")) {
					getKeyWords("key",parameUri);
				}
				getTabHost().setCurrentTabByTag(Search.class.getName());
			}
		}else{
			String targetTab = intent.getStringExtra(EXTRA_TARGET_TAB_KEY);
			int values = intent.getIntExtra(MANAGEMENT_TARGET_TAB_KEY, -1);
			if(targetTab != null && targetTab.length() != 0){
				Management.setTargetIndex(values);
				getTabHost().setCurrentTabByTag(targetTab);
			}
		}
		
	}
	
	private void setupTabs(){
		Resources res = getResources();
		String labels[] = res.getStringArray(R.array.appstore_tab_labels);
		TypedArray icons = res.obtainTypedArray(R.array.appstore_tab_icons);
		TabHost tabHost = getTabHost();
		mTabwidget = this.getTabWidget();
		((ClickableTabHost)tabHost).setOnTabSelectedListener(this);
		TabSpec tab = null;
		Intent contentIntent = null;
		int tabCount = TAB_ACTIVITY_CLASSES.length;
		for(int i = 0; i < tabCount; i++){
			contentIntent = new Intent();
			contentIntent.setClass(this, TAB_ACTIVITY_CLASSES[i]);	
			tab = tabHost.newTabSpec(TAB_ACTIVITY_CLASSES[i].getName());
			tab.setIndicator(getTabItemView(i));
			tab.setContent(contentIntent);
			tabHost.addTab(tab);
		}
	}
	
	@Override
	protected void onDestroy(){
		super.onDestroy();
		
		safeDismissDialog(DLG_NO_CONNECTION);
		safeDismissDialog(DLG_NO_WIFI);
		
		if(mUpdatePrefs != null){
			mUpdatePrefs.unregisterOnSharedPreferenceChangeListener(mUpdateChangedListener);
		}
		
		unregisterReceiver(mNetworkChanedReceiver);		
		if(mReceiver != null){
			unregisterReceiver(mReceiver);
		}
		
		//AccountUtils.destroyInstance();
	}
	
	private View getTabItemView(int index){
		View view = mInflater.inflate(R.layout.tab_item_view, null);
		ImageView imageView = (ImageView)view.findViewById(R.id.imageview);
		TypedArray icons = getResources().obtainTypedArray(R.array.appstore_tab_icons);
		if (imageView != null) {
			imageView.setImageDrawable(icons.getDrawable(index));
		}
		String labels[] = getResources().getStringArray(R.array.appstore_tab_labels);
		TextView textView = (TextView)view.findViewById(R.id.textview);
		textView.setText(labels[index]);
		return view;
	}
	
	protected Dialog onCreateDialog(int id, Bundle args) {
		Dialog dialog = null;
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		if(id == DLG_NO_CONNECTION){
			NoConnectionDlgListener noConnectionDlgListener = new NoConnectionDlgListener();
			builder.setTitle(R.string.no_network_title);
			builder.setMessage(R.string.no_connection_info);
			
			builder.setPositiveButton(R.string.setup_connection, noConnectionDlgListener);
			builder.setNegativeButton(R.string.cancel, noConnectionDlgListener);
			builder.setOnCancelListener(noConnectionDlgListener);
			
			dialog = builder.create();
			dialog.setOnDismissListener(noConnectionDlgListener);
			dialog.show();
		}else if(id == DLG_NO_WIFI){
			NoWifiDlgListener noWifiDlgListener = new NoWifiDlgListener();
			
			builder.setTitle(R.string.use_mobile_title);
			builder.setMessage(R.string.no_wifi_info);
			
			builder.setPositiveButton(R.string.open, noWifiDlgListener);
			builder.setNegativeButton(R.string.cancel, noWifiDlgListener);
			builder.setOnCancelListener(noWifiDlgListener);
			
			SharedPreferences prefs = AppstoreSettings.getSharedPreferences(AppStore.this);
			boolean can = prefs.getBoolean(AppstoreSettings.KEY_SAVE_FLOW_SETTING, false);
			
			if(can){
				AppstoreSettings.mFlow = true;
				startAppStore();
				return null;
			}
			dialog = builder.create();
			dialog.setOnDismissListener(noWifiDlgListener);
			dialog.show();
		}		
		return dialog;
	}
	
	protected void onPrepareDialog(int id, Dialog dialog, Bundle args){		
		super.onPrepareDialog(id, dialog, args);
	}
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu){
		return MenuHelper.onCreateOptionsMenu(this, menu);
	}
	
	@Override
	public boolean onPrepareOptionsMenu(Menu menu){
		if (mInputMethodManager == null) {
			mInputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
		}
		mInputMethodManager.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);
		return MenuHelper.onPrepareOptionsMenu(this, menu);
	}
	
	@Override
	public boolean onOptionsItemSelected(MenuItem item){
		return MenuHelper.onOptionsItemSelected(this, item);
	}
	
	@Override
	public void onNewIntent(Intent intent){
		
		mExtraData = intent.getExtras();
		parameUri = intent.getData();
		Log.i(TAG, "onNewIntent, intent.getAction() = " + intent.getAction());
		Log.i(TAG, "onNewIntent, key = " + intent.getStringExtra("APP_NAME"));
		if (parameUri != null) {
			hostStr = parameUri.getHost();
			schemeStr = parameUri.getScheme();
		}
		if(ACTION_VIEW_HUB.equals(intent.getAction())){
			getTabHost().setCurrentTabByTag(CategoriyListActivity.class.getName());
		}else if(ACTION_SEARCH.equals(intent.getAction())){
			Log.i(TAG, "ACTION_SEARCH");
			key = intent.getStringExtra("APP_NAME");
			keyHashMap.put("key", key);
			getTabHost().setCurrentTabByTag(Search.class.getName());
		}else if (parameUri != null && hostStr != null && schemeStr != null) {
			if (hostStr.equals("market.android.com") || hostStr.equals("play.google.com")) {
				String path = parameUri.getEncodedPath();
				
				if (path != null && path.contains("details")) {
					getKeyWords("package_name",parameUri);
				}else {
					getKeyWords("key",parameUri);					
				}
				getTabHost().setCurrentTabByTag(Search.class.getName());
		    }else if (schemeStr.equals("market") || schemeStr.equals("goMarket")) {
				if (hostStr.equals("details")) {
					getKeyWords("package_name",parameUri);
				}else if (hostStr.equals("search")) {
					getKeyWords("key",parameUri);
				}
				getTabHost().setCurrentTabByTag(Search.class.getName());
			}
		}else{
			String targetTab = intent.getStringExtra(EXTRA_TARGET_TAB_KEY);
			int values = intent.getIntExtra(MANAGEMENT_TARGET_TAB_KEY, -1);
//            Log.i(TAG, "values = " + values);
			if(targetTab != null && targetTab.length() != 0){
				Management.setTargetIndex(values);
				getTabHost().setCurrentTabByTag(targetTab);
			}
		}
	}

	public void onTabSelected(int index, int preIndex) {
		LocalActivityManager localActivityManager = getLocalActivityManager();
		Activity activity = localActivityManager.getActivity(TAB_ACTIVITY_CLASSES[index].getName());
		if(activity != null){
			if(activity instanceof TabActivityChild){
				if(index == preIndex){
					((TabActivityChild)activity).selectedActivity(false, mExtraData);
				}else{
					((TabActivityChild)activity).selectedActivity(true, mExtraData);
				}
			}
		}
		
		mExtraData = null;
		
		if (mInputMethodManager == null) {
			mInputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
		}
		mInputMethodManager.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);
	}
	
	public boolean onSearchRequested() {
		return false;
	}
	
	private void setUpdateNumText(TextView textView, int num){
		Log.d(TAG, "There are " + num + " packages has new version");
		if(null == textView){
			return;
		}
		if(0 == num){
			textView.setVisibility(View.GONE);
			return;
		}
		
	    String numString = String.valueOf(num);
	    int textSize = 0;
	    if(num < 100){
	    	textSize = mFontSizeDefault;
	    }else if(num < 1000){
	    	textSize = mFontSizeSmall;
	    }else{
	    	numString = "...";
	    }
		textView.setTextSize(textSize);
		textView.setText(numString);
		textView.setVisibility(View.VISIBLE);
	}
		
	private void safeDismissDialog(int dialogId){
		try{
			dismissDialog(dialogId);
		}catch(IllegalArgumentException e){
			Log.e(TAG, "safeDismissDialog, found IllegalArgumentException");
		}
	}
	
	public interface TabActivityChild{
		public void selectedActivity(boolean fromOtherActivity, Bundle data);
	}
	
	private class ChangeTabReceiver extends BroadcastReceiver{
        @Override
        public void onReceive(Context context, Intent intent) {
            if(intent.getAction().equals(CHANGE_TAB_ACTION)){
                String targetTab = intent.getStringExtra(EXTRA_TARGET_TAB_KEY);
                int values = intent.getIntExtra(MANAGEMENT_TARGET_TAB_KEY, -1);
                Log.i(TAG, "values = " + values);
                if(targetTab != null && targetTab.length() != 0){
                	Management.setTargetIndex(values);
                    AppStore.this.getTabHost().setCurrentTabByTag(targetTab);
                }
            }
        }
	}
	
	private class NoConnectionDlgListener implements DialogInterface.OnClickListener, 
			DialogInterface.OnCancelListener,
				DialogInterface.OnDismissListener{

		public void onClick(DialogInterface dialog, int which) {
			Intent intent = null;
			switch(which){
			case DialogInterface.BUTTON_POSITIVE:
				intent = new Intent(INTENT_ACTION_NETWORK_SETTINGS);
				intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
				startActivity(intent);
				break;
			case DialogInterface.BUTTON_NEUTRAL:
				intent = new Intent(INTENT_ACTION_WIFI_SETTINGS);
				intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
				startActivity(intent);
				break;
			case DialogInterface.BUTTON_NEGATIVE:
				safeDismissDialog(DLG_NO_CONNECTION);
				noNetwork = true;
				startAppStore();
				break;
			}
		}

		public void onCancel(DialogInterface dialog) {
			finish();
		}

		public void onDismiss(DialogInterface dialog) {
		}
	}
	
	private class NoWifiDlgListener implements DialogInterface.OnClickListener, 
			DialogInterface.OnCancelListener,
				DialogInterface.OnDismissListener{
		
		public void onClick(DialogInterface dialog, int which) {		
			mWifiChanged = false;
			switch(which){
			case DialogInterface.BUTTON_POSITIVE:
				safeDismissDialog(DLG_NO_WIFI);
				SharedPreferences prefs = AppstoreSettings.getSharedPreferences(AppStore.this);
				SharedPreferences.Editor editor = prefs.edit();
				editor.putBoolean(AppstoreSettings.KEY_SAVE_FLOW_SETTING, true);
				editor.commit();
				AppstoreSettings.mFlow = true;
				startAppStore();
			case DialogInterface.BUTTON_NEGATIVE:
				safeDismissDialog(DLG_NO_WIFI);
                startAppStore();
				break;
			}
		}

		public void onCancel(DialogInterface dialog) {
			finish();
		}

		public void onDismiss(DialogInterface dialog) {
		}
	}
	
	private class UpdateChangedListener implements OnSharedPreferenceChangeListener{
		public void onSharedPreferenceChanged(
				SharedPreferences sharedPreferences, String key) {
			if(key == AutoUpdateService.PREFERENCES_KEY_NEW_PACKAGE_NUM){
				int updateNum = sharedPreferences.getInt(key, 0);
				setUpdateNumText(mUpdateNumText, updateNum);
			}
		}
	}
	
	private class NetworkReceiver extends BroadcastReceiver{

		public void onReceive(Context context, Intent intent) {
        	boolean mDataConnectionIsConnected = false;
            NetworkInfo networkInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
            NetworkInfo.State state = (networkInfo == null ? NetworkInfo.State.UNKNOWN :  networkInfo.getState());
            switch (state) {
            	case CONNECTED:
            		mDataConnectionIsConnected = true;
            		break;
            	case DISCONNECTED:
            		if (intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false)) {
            			mDataConnectionIsConnected = false;
            		} else {
            			mDataConnectionIsConnected = true;
            		}
            		break;
            	default:
            }
            
            if(mDataConnectionIsConnected){
            	int type = networkInfo.getType();
            	if(type == ConnectivityManager.TYPE_MOBILE){
            		SharedPreferences prefs = AppstoreSettings.getSharedPreferences(context);
					int useMobile = prefs.getInt(AppstoreSettings.KEY_USE_MOBILE, 0);
            		if(networkInfo.isConnected()){
            			//now is using the mobile network
            			if(useMobile == 0){
            				safeDismissDialog(DLG_NO_CONNECTION);

        					if(!mPaused){
        						boolean can = prefs.getBoolean(AppstoreSettings.KEY_SAVE_FLOW_SETTING, false);
        						if (can) {
        							AppstoreSettings.mFlow = true;
        							startAppStore();
        						}else {
        							showDialog(DLG_NO_WIFI, null);						
        						}
        					}else{
        						mWifiChanged = true;
        					}
            			}else{
            				safeDismissDialog(DLG_NO_CONNECTION);
            				safeDismissDialog(DLG_NO_WIFI);
            				startAppStore();
            			}
            		}else{
            			//the mobile network is disconnected, but the wifi is connected
            		}
            	}else if(type == ConnectivityManager.TYPE_WIFI){
            		if(networkInfo.isConnected()){
            			//now is using the wifi network
        				safeDismissDialog(DLG_NO_CONNECTION);
        				safeDismissDialog(DLG_NO_WIFI);
    					startAppStore();
            		}else{
            			//the wifi is disconnected, but the mobile is connected
            		}
            	}
            }else{
            	//the network is disconnected.
            	if(mAppstoreStarted){
    				safeDismissDialog(DLG_NO_CONNECTION);
    				safeDismissDialog(DLG_NO_WIFI);
            	}
            }
		}
	}
	
	public static HashMap<String, String> obtainkey(){
		return keyHashMap;
	}
		
	
	public class AppCheckTask extends AppVerDetectingTask{

	public AppCheckTask(Activity context, String appName, String verName,
				int verCode, boolean showDialog) {
			super(context, appName, verName, verCode, showDialog);
			
		}

	@Override
	protected void onUpdate() {
		
		
	}

	@Override
	protected void onCancel() {
		
	}

	@Override
	protected void onExit() {
		finish();		
	}
		
	}
	
	private HashMap<String, String> getKeyWords(String param,Uri url){
		String keyString = url.getQueryParameter("q");
		if(keyString != null){
            if (keyString.startsWith("pub:")) {
                keyString = keyString.replace("pub:", "");
             	key = keyString.trim().replace("^\"|\"$", "");
             	key = key.replace("\"", "");
 			}else if(keyString.startsWith("pname:")){
 				key = keyString.replace("pname:", "");
 				param = "package_name";
 			}
	     }else {
	    	 key = url.getQueryParameter("id"); 					
		}
		Log.i(TAG, "key = " + key);
		keyHashMap.put(param, key);
		return keyHashMap;
	}
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值