@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_app_list); context = AppListActivity.this; appList = (ListView) findViewById(R.id.appList); btnMobileApps = (TextView) findViewById(R.id.btnMobileApps); btnWebApps = (TextView) findViewById(R.id.btnWebApps); txtError = (TextView) findViewById(R.id.txtError); btnSignOut = (TextView) findViewById(R.id.btnSignOut); etSearch = (EditText) findViewById(R.id.etSearch); mobileApps = new ArrayList<>(); webApps = new ArrayList<>(); appList.setVisibility(View.GONE); txtError.setVisibility(View.GONE); btnMobileApps.setVisibility(View.GONE); btnMobileApps.setTag(TAG_BTN_MOBILE_APPS); btnMobileApps.setOnClickListener(onClickListener); btnWebApps.setVisibility(View.GONE); btnWebApps.setTag(TAG_BTN_WEB_APPS); btnWebApps.setOnClickListener(onClickListener); if (CommonUtils.isNetworkAvailable(context)) { getAppList(); } else { CommonDialogUtils.showNetworkUnavailableMessage(AppListActivity.this); } }
@Override public void onClick(View view) { int iTag = (Integer) view.getTag(); switch (iTag) { case TAG_BTN_MOBILE_APPS: initiateListView(mobileApps); btnMobileApps.setBackgroundColor(Color.parseColor(ACTIVE_BUTTON_COLOR)); btnWebApps.setBackgroundColor(Color.parseColor(INACTIVE_BUTTON_COLOR)); break; case TAG_BTN_WEB_APPS: initiateListView(webApps); btnMobileApps.setBackgroundColor(Color.parseColor(INACTIVE_BUTTON_COLOR)); btnWebApps.setBackgroundColor(Color.parseColor(ACTIVE_BUTTON_COLOR)); break; case TAG_BTN_SIGN_OUT: try { CommonUtils.unRegisterClientApp(context); } catch (AppCatalogException e) { Log.e(TAG, "Dynamic client unregistration failed." + e); } break; } }
private void getAppList() { DialogInterface.OnCancelListener cancelListener = new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface arg0) { CommonDialogUtils.getAlertDialogWithOneButtonAndTitle( context, getResources().getString(R.string.error_app_fetch_failed_detail), getResources().getString(R.string.app_list_failed), getResources().getString(R.string.button_ok), null); } }; progressDialog = CommonDialogUtils.showProgressDialog( context, getResources().getString(R.string.dialog_app_list), getResources().getString(R.string.dialog_please_wait), cancelListener); // Check network connection availability before calling the API. if (CommonUtils.isNetworkAvailable(context)) { ApplicationManager applicationManager = new ApplicationManager(context); if (applicationManager.isPackageInstalled(Constants.AGENT_PACKAGE_NAME)) { btnSignOut.setVisibility(View.GONE); IntentFilter filter = new IntentFilter(Constants.AGENT_APP_ACTION_RESPONSE); filter.addCategory(Intent.CATEGORY_DEFAULT); AgentServiceResponseReceiver receiver = new AgentServiceResponseReceiver(); registerReceiver(receiver, filter); CommonUtils.callAgentApp(context, Constants.Operation.GET_APPLICATION_LIST, null, null); } else { btnSignOut.setVisibility(View.VISIBLE); btnSignOut.setTag(TAG_BTN_SIGN_OUT); btnSignOut.setOnClickListener(onClickListener); getAppListFromServer(); } } else { CommonDialogUtils.stopProgressDialog(progressDialog); CommonDialogUtils.showNetworkUnavailableMessage(context); } }
/** Retriever application list from the server. */ private void getAppListFromServer() { String ipSaved = Preference.getString(context.getApplicationContext(), Constants.PreferenceFlag.IP); if (ipSaved != null && !ipSaved.isEmpty()) { ServerConfig utils = new ServerConfig(); utils.setServerIP(ipSaved); CommonUtils.callSecuredAPI( AppListActivity.this, utils.getAPIServerURL(context) + Constants.APP_LIST_ENDPOINT, HTTP_METHODS.GET, null, AppListActivity.this, Constants.APP_LIST_REQUEST_CODE); } else { Log.e(TAG, "There is no valid IP to contact the server"); } }