List of usage examples for android.app Dialog setContentView
public void setContentView(@NonNull View view)
From source file:com.msopentech.applicationgateway.EnterpriseBrowserActivity.java
/** * Shows dialog enabling user to bookmark current (by default) or any other page. * //w w w . ja v a 2 s.com * @param v View this method is attached to. */ public void showAddBookmarkDialog(View v) { try { final Dialog dialog = new Dialog(this); dialog.setContentView(R.layout.create_bookmark_dialog); dialog.setTitle(getString(R.string.bookmark_dialog_title)); dialog.setCanceledOnTouchOutside(false); TextView cancelButton = (TextView) dialog.findViewById(R.id.create_bookmark_cancel); TextView saveButton = (TextView) dialog.findViewById(R.id.create_bookmark_ok); OnClickListener listener = new OnClickListener() { public void onClick(View v) { switch (v.getId()) { case R.id.create_bookmark_cancel: { dialog.dismiss(); break; } case R.id.create_bookmark_ok: { String name = ((EditText) dialog.findViewById(R.id.create_bookmark_name)).getText() .toString(); String address = ((EditText) dialog.findViewById(R.id.create_bookmark_url)).getText() .toString(); if (null != name && !(name.contentEquals("")) && null != address && !(address.contentEquals(""))) { PersistenceManager.addRecord(PersistenceManager.ContentType.BOOKMARKS, new URLInfo(address, name)); } dialog.dismiss(); break; } } } }; cancelButton.setOnClickListener(listener); saveButton.setOnClickListener(listener); EditText name = (EditText) dialog.findViewById(R.id.create_bookmark_name); EditText address = (EditText) dialog.findViewById(R.id.create_bookmark_url); name.setText(mActiveWebView.getTitle()); address.setText(mUrlEditTextView.getText()); dialog.show(); } catch (final Exception e) { Utility.showAlertDialog(EnterpriseBrowserActivity.class.getSimpleName() + ".showAddBookmarkDialog(): Failed. " + e.toString(), EnterpriseBrowserActivity.this); } }
From source file:de.mkrtchyan.recoverytools.RecoveryTools.java
/** * Buttons on FlashRecovery and FlashKernel Dialog *//*w ww .j a v a 2 s . c om*/ public void FlashSupportedRecovery(View view) { fRECOVERY = null; final File path; ArrayList<String> Versions; if (!mDevice.downloadUtils(mContext)) { /** * If there files be needed to flash download it and listing device specified recovery * file for example recovery-clockwork-touch-6.0.3.1-grouper.img(read out from IMG_SUMS) */ String SYSTEM = view.getTag().toString(); if (SYSTEM.equals("clockwork")) { Versions = mDevice.getCWMVersions(); path = PathToCWM; } else if (SYSTEM.equals("twrp")) { Versions = mDevice.getTWRPVersions(); path = PathToTWRP; } else if (SYSTEM.equals("philz")) { Versions = mDevice.getPHILZVersions(); path = PathToPhilz; } else { return; } final Dialog recoveries = new Dialog(mContext); recoveries.setTitle(SYSTEM); ListView lv = new ListView(mContext); recoveries.setContentView(lv); lv.setAdapter(new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1, Versions)); recoveries.show(); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { recoveries.dismiss(); final String fileName = ((TextView) view).getText().toString(); if (fileName != null) { fRECOVERY = new File(path, fileName); if (!fRECOVERY.exists()) { Downloader RecoveryDownloader = new Downloader(mContext, RECOVERY_HOST_URL, fRECOVERY, rRecoveryFlasher); RecoveryDownloader.setRetry(true); RecoveryDownloader.setAskBeforeDownload(true); RecoveryDownloader.setChecksumFile(RecoveryCollectionFile); RecoveryDownloader.ask(); } else { rRecoveryFlasher.run(); } } } }); } }
From source file:com.example.search.car.pools.welcome.java
public void dialog(String name, final String[] arr, final TextView tv) { final Dialog dialog = new Dialog(welcome.this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); dialog.setContentView(R.layout.dialog); final ListView list = (ListView) dialog.findViewById(R.id.list_cities); DialogAdapter adapter = new DialogAdapter(welcome.this, arr); list.setAdapter(adapter);//from w ww . ja va 2 s . c om final TextView t = (TextView) dialog.findViewById(R.id.tv_1_send_msg); t.setText("Select " + name); Typeface tf = Typeface.createFromAsset(welcome.this.getAssets(), "AvenirLTStd_Book.otf"); t.setTypeface(tf); list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { tv.setText(arr[position]); dialog.dismiss(); } }); final RelativeLayout l_close = (RelativeLayout) dialog.findViewById(R.id.l_close); l_close.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub dialog.dismiss(); } }); dialog.show(); }
From source file:de.mkrtchyan.recoverytools.RecoveryTools.java
public void showPopup(int Menu, final View v) { PopupMenu popup = new PopupMenu(mContext, v); popup.getMenuInflater().inflate(Menu, popup.getMenu()); popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override/*from ww w . java 2 s. c o m*/ public boolean onMenuItemClick(MenuItem menuItem) { try { final String text = ((TextView) v).getText().toString(); final Dialog dialog = new Dialog(mContext); dialog.setTitle(R.string.setname); dialog.setContentView(R.layout.dialog_input); final Button bGo = (Button) dialog.findViewById(R.id.bGoBackup); final EditText etFileName = (EditText) dialog.findViewById(R.id.etFileName); final File Backup = new File(PathToRecoveryBackups, text); switch (menuItem.getItemId()) { case R.id.iReboot: mToolbox.reboot(Toolbox.REBOOT_REBOOT); return true; case R.id.iRebootRecovery: mToolbox.reboot(Toolbox.REBOOT_RECOVERY); return true; case R.id.iRebootBootloader: mToolbox.reboot(Toolbox.REBOOT_BOOTLOADER); return true; case R.id.iRestoreRecovery: new FlashUtil(mShell, mContext, mDevice, new File(PathToRecoveryBackups, text), FlashUtil.JOB_RESTORE_RECOVERY).execute(); return true; case R.id.iRenameRecovery: etFileName.setHint(text); bGo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String Name; if (etFileName.getText() != null && !etFileName.getText().toString().equals("")) { Name = etFileName.getText().toString(); } else { Name = String.valueOf(etFileName.getHint()); } if (!Name.endsWith(mDevice.getRecoveryExt())) { Name = Name + mDevice.getRecoveryExt(); } final File renamedBackup = new File(PathToRecoveryBackups, Name); if (renamedBackup.exists()) { Toast.makeText(mContext, R.string.backupalready, Toast.LENGTH_SHORT).show(); } else { if (Backup.renameTo(renamedBackup)) { loadBackupDrawer(); } } dialog.dismiss(); } }); dialog.show(); return true; case R.id.iDeleteRecoveryBackup: if (((TextView) v).getText() != null) { if (new File(PathToRecoveryBackups, text).delete()) { Toast.makeText(mContext, String.format(mContext.getString(R.string.bak_deleted), ((TextView) v).getText()), Toast.LENGTH_SHORT).show(); loadBackupDrawer(); } } return true; case R.id.iRestoreKernel: new FlashUtil(mShell, mContext, mDevice, new File(PathToKernelBackups, text), FlashUtil.JOB_RESTORE_KERNEL).execute(); return true; case R.id.iRenameKernel: etFileName.setHint(text); bGo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String Name; if (etFileName.getText() != null && !etFileName.getText().toString().equals("")) { Name = etFileName.getText().toString(); } else { Name = String.valueOf(etFileName.getHint()); } if (!Name.endsWith(mDevice.getKernelExt())) { Name = Name + mDevice.getKernelExt(); } final File renamedBackup = new File(PathToKernelBackups, Name); if (renamedBackup.exists()) { Toast.makeText(mContext, R.string.backupalready, Toast.LENGTH_SHORT).show(); } else { if (Backup.renameTo(renamedBackup)) { loadBackupDrawer(); } } dialog.dismiss(); } }); dialog.show(); return true; case R.id.iDeleteKernelBackup: if (((TextView) v).getText() != null) { if (new File(PathToKernelBackups, text).delete()) { Toast.makeText(mContext, String.format(mContext.getString(R.string.bak_deleted), ((TextView) v).getText()), Toast.LENGTH_SHORT).show(); loadBackupDrawer(); } } return true; default: return false; } } catch (Exception e) { return false; } } }); popup.show(); }
From source file:com.dsdar.thosearoundme.TeamViewActivity.java
@Override public boolean onMarkerClick(final Marker theMarker) { if (theMarker.equals(MyAppConstants.myMarker)) { return false; }/*from w w w . jav a 2 s . c o m*/ // Normal Marker if (!theMarker.equals(MyAppConstants.myMarker) && (theMarker.getTitle() != null)) { final Dialog aMemberDialog = new Dialog(TeamViewActivity.this, R.style.DialogSlideAnim); aMemberDialog.setContentView(R.layout.member_dialog); TextView aMemberTextName = (TextView) aMemberDialog.findViewById(R.id.tvMemberName); Button aTextButton = (Button) aMemberDialog.findViewById(R.id.bMemberText); Button aPushButton = (Button) aMemberDialog.findViewById(R.id.bMemberPush); Button aCallButton = (Button) aMemberDialog.findViewById(R.id.bMemberCall); Button aRemoveButton = (Button) aMemberDialog.findViewById(R.id.bMemberRemove); String[] res = theMarker.getTitle().split("~"); String title = res[0]; final String phone = res[1]; aMemberTextName.setText("Say hello to " + title + "!"); aMemberDialog.getWindow().setBackgroundDrawable(new ColorDrawable(0)); aMemberDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); aMemberDialog.getWindow().setGravity(Gravity.BOTTOM); aMemberDialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); aMemberDialog.show(); ImageView aCancelButton = (ImageView) aMemberDialog.findViewById(R.id.bCancelMemberDialog); aCancelButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { aMemberDialog.dismiss(); } }); aTextButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Uri sms_uri = Uri.parse("smsto:" + phone); Intent sms_intent = new Intent(Intent.ACTION_SENDTO, sms_uri); startActivity(sms_intent); } }); // aPushButton.setOnClickListener(new OnClickListener() { // public void onClick(View v) { // // startActivity(new Intent(Intent.ACTION_VIEW, // // Uri.parse("sms:" // // + theMarker.getSnippet()))); // } // }); aCallButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent callIntent = new Intent(Intent.ACTION_DIAL); callIntent.setData(Uri.parse("tel:" + phone)); startActivity(callIntent); } }); // aRemoveButton.setOnClickListener(new OnClickListener() { // public void onClick(View v) { // } // }); } else { StickyMarkerBehaviorDialog dialog = new StickyMarkerBehaviorDialog(this); dialog.show(); } return true; }
From source file:in.shick.diode.mail.InboxListActivity.java
@Override protected Dialog onCreateDialog(int id) { Dialog dialog; ProgressDialog pdialog;/*from w ww . j a v a2s . co m*/ switch (id) { case Constants.DIALOG_LOGIN: dialog = new LoginDialog(this, mSettings, true) { @Override public void onLoginChosen(String user, String password) { removeDialog(Constants.DIALOG_LOGIN); new MyLoginTask(user, password).execute(); } }; break; case Constants.DIALOG_REPLY: dialog = new Dialog(this, mSettings.getDialogTheme()); dialog.setContentView(R.layout.compose_reply_dialog); final EditText replyBody = (EditText) dialog.findViewById(R.id.body); final Button replySaveButton = (Button) dialog.findViewById(R.id.reply_save_button); final Button replyCancelButton = (Button) dialog.findViewById(R.id.reply_cancel_button); replySaveButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (mReplyTargetName != null) { new MessageReplyTask(mReplyTargetName).execute(replyBody.getText().toString()); removeDialog(Constants.DIALOG_REPLY); } else { Common.showErrorToast("Error replying. Please try again.", Toast.LENGTH_SHORT, InboxListActivity.this); } } }); replyCancelButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { removeDialog(Constants.DIALOG_REPLY); } }); break; // "Please wait" case Constants.DIALOG_LOGGING_IN: pdialog = new ProgressDialog(new ContextThemeWrapper(this, mSettings.getDialogTheme())); pdialog.setMessage("Logging in..."); pdialog.setIndeterminate(true); pdialog.setCancelable(true); dialog = pdialog; break; case Constants.DIALOG_REPLYING: pdialog = new ProgressDialog(new ContextThemeWrapper(this, mSettings.getDialogTheme())); pdialog.setMessage("Sending reply..."); pdialog.setIndeterminate(true); pdialog.setCancelable(true); dialog = pdialog; break; default: throw new IllegalArgumentException("Unexpected dialog id " + id); } return dialog; }
From source file:de.mkrtchyan.recoverytools.RecoveryTools.java
public void showOverRecoveryInstructions() { final AlertDialog.Builder Instructions = new AlertDialog.Builder(mContext); Instructions.setTitle(R.string.info).setMessage(R.string.flash_over_recovery) .setPositiveButton(R.string.positive, new DialogInterface.OnClickListener() { @Override/* w w w. j ava2 s . c o m*/ public void onClick(DialogInterface dialog, int which) { try { mToolbox.reboot(Toolbox.REBOOT_RECOVERY); } catch (Exception e) { e.printStackTrace(); } } }).setNeutralButton(R.string.instructions, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Dialog d = new Dialog(mContext); d.setTitle(R.string.instructions); TextView tv = new TextView(mContext); tv.setTextSize(20); tv.setText(R.string.instruction); d.setContentView(tv); d.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { Instructions.show(); } }); d.show(); } }).show(); }
From source file:com.speed.traquer.app.TraqComplaintTaxi.java
private void PromptCustomDialog() { // Create custom dialog object final Dialog dialog = new Dialog(TraqComplaintTaxi.this); // Include dialog.xml file dialog.setContentView(R.layout.activity_submit_social); // Set dialog title dialog.setTitle("Submit via"); // set values for custom dialog components - text, image and button final TextView twitterText = (TextView) dialog.findViewById(R.id.textTwitterDialog); twitterText.setText("Twitter"); final TextView facebookText = (TextView) dialog.findViewById(R.id.textFacebookDialog); facebookText.setText("Facebook"); final TextView defaultText = (TextView) dialog.findViewById(R.id.textDefaultDialog); defaultText.setText("Default"); defaultText.setTextColor(getResources().getColor(R.color.Orange)); final TextView smsText = (TextView) dialog.findViewById(R.id.textSMSDialog); smsText.setText("SMS"); final ImageView image = (ImageView) dialog.findViewById(R.id.imageDialog); image.setImageResource(R.drawable.icon_twitter); final ImageView imageFb = (ImageView) dialog.findViewById(R.id.imageDialogFb); imageFb.setImageResource(R.drawable.ic_fb_grey); final ImageView imageDefault = (ImageView) dialog.findViewById(R.id.imageDialogDefault); imageDefault.setImageResource(R.drawable.icon_traquer_color); isDefaultSelected = true;/*from www . java2 s . c o m*/ final ImageView imageSMS = (ImageView) dialog.findViewById(R.id.imageDialogSMS); imageSMS.setImageResource(R.drawable.icon_sms); dialog.show(); //Retrieve form info taxi_id = inputTaxi.getText().toString().toUpperCase(); taxi_id = taxi_id.replace(" ", ""); taxi_comp = actv_comp_taxi.getText().toString(); taxi_driver = taxiDriver.getText().toString(); taxi_license = taxiLic.getText().toString(); loc_frm = actv_from.getText().toString(); loc_to = actv_to.getText().toString(); dateBus = editDate.getText().toString(); timeBus = editTime.getText().toString(); curr_time = editCurrTime.getText().toString(); user_name = SaveSharedPreference.getUserName(TraqComplaintTaxi.this); //Twitter Button final RelativeLayout twitterLogin = (RelativeLayout) dialog.findViewById(R.id.twitterImageButton); twitterLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (isTwitterSelected) { image.setImageResource(R.drawable.icon_twitter); twitterText.setTextColor(getResources().getColor(R.color.DarkGray)); isTwitterSelected = false; } else { loginToTwitter(); image.setImageResource(R.drawable.icon_twitter_blue); twitterText.setTextColor(getResources().getColor(R.color.TwitterBlue)); isTwitterSelected = true; } } }); //facebook Button final RelativeLayout facebookLogin = (RelativeLayout) dialog.findViewById(R.id.facebookImageButton); facebookLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (isFacebookSelected) { imageFb.setImageResource(R.drawable.ic_fb_grey); if (fbUserName != null) facebookText.setText("Facebook"); facebookText.setTextColor(getResources().getColor(R.color.DarkGray)); isFacebookSelected = false; } else { //loginToTwitter(); // start Facebook Login loginToFacebook(); if (fbUserName != null) facebookText.setText(fbUserName); imageFb.setImageResource(R.drawable.ic_fb_blue); facebookText.setTextColor(getResources().getColor(R.color.TwitterBlue)); isFacebookSelected = true; } } }); //SMS Button final RelativeLayout SMSLogin = (RelativeLayout) dialog.findViewById(R.id.smsImageButton); SMSLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (isSmsSelected) { imageSMS.setImageResource(R.drawable.icon_sms); smsText.setTextColor(getResources().getColor(R.color.DarkGray)); isSmsSelected = false; } else { imageSMS.setImageResource(R.drawable.icon_sms_color); smsText.setTextColor(getResources().getColor(R.color.Orange)); isSmsSelected = true; } } }); /*/Default Button final RelativeLayout defaultLogin = (RelativeLayout)dialog.findViewById(R.id.defaultImageButton); defaultLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(isDefaultSelected) { imageDefault.setImageResource(R.drawable.icon_traquer_color); defaultText.setTextColor(getResources().getColor(R.color.Orange)); isDefaultSelected = false; } else { imageDefault.setImageResource(R.drawable.icon_traquer_color); defaultText.setTextColor(getResources().getColor(R.color.Orange)); isDefaultSelected = true; } } });*/ //Submit Button Button declineButton = (Button) dialog.findViewById(R.id.submitButton); // if decline button is clicked, close the custom dialog declineButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //submit complaint isSubmitButtonClicked = true; if (isNetworkConnected() == true) { Toast.makeText(TraqComplaintTaxi.this, "Complaint sent. Thank you for taking action!", Toast.LENGTH_SHORT).show(); //Combine Strings for Twitter Status String status = taxi_id + ", " + taxi_comp + " taxi is speeding with " + speedTaxiExceed + "km/h at " + Double.toString(gLatitude) + "N, " + Double.toString(gLongitude) + "E, " + curr_time + " @aduanSPAD @MyTraquer #Traquer"; finalStatus = status; if (isFacebookSelected) { //share to facebook ShareToFacebook(status); //publishFeedDialog(); } if (isTwitterSelected) { //Toast.makeText(TraqComplaintTaxi.this, Long.toString(twitterID) + userName, Toast.LENGTH_SHORT).show(); // Check for blank text if (status.trim().length() > 0) { // update status if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB_MR1) { new updateTwitterStatus().execute(status); } else new updateTwitterStatus().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, status); } else { // EditText is empty Toast.makeText(getApplicationContext(), "Please enter status message", Toast.LENGTH_SHORT).show(); } } else { if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB_MR1) new InsertForm().execute(); else new InsertForm().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } // Close dialog dialog.dismiss(); } else { if (isSmsSelected) { Log.i("Clicks", "You clicked sent."); Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.putExtra("address", "15888"); sendIntent.putExtra("sms_body", "SPAD Aduan " + taxi_id + ", " + taxi_comp + " taxi is speeding with " + speedTaxiExceed + "km/h at " + Double.toString(gLatitude) + "N, " + Double.toString(gLongitude) + "E, " + curr_time + " - Traquer"); sendIntent.setType("vnd.android-dir/mms-sms"); startActivity(sendIntent); //1800-88-7723 } else { Toast.makeText(TraqComplaintTaxi.this, "Failed to send. Please check your network connection.", Toast.LENGTH_SHORT).show(); } } } }); //TraqComplaintTaxi.this.showDialog(ALERT_DIALOG); }
From source file:com.aware.ui.ESM_UI.java
@Override public Dialog onCreateDialog(Bundle savedInstanceState) { // getActivity().getWindow().setType(WindowManager.LayoutParams.TYPE_PRIORITY_PHONE); // getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); // getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); builder = new AlertDialog.Builder(getActivity()); inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); TAG = Aware.getSetting(getActivity().getApplicationContext(), Aware_Preferences.DEBUG_TAG).length() > 0 ? Aware.getSetting(getActivity().getApplicationContext(), Aware_Preferences.DEBUG_TAG) : TAG;/*from w w w . java 2s . co m*/ Cursor visible_esm = getActivity().getContentResolver().query(ESM_Data.CONTENT_URI, null, ESM_Data.STATUS + "=" + ESM.STATUS_NEW, null, ESM_Data.TIMESTAMP + " ASC LIMIT 1"); if (visible_esm != null && visible_esm.moveToFirst()) { esm_id = visible_esm.getInt(visible_esm.getColumnIndex(ESM_Data._ID)); //Fixed: set the esm as not new anymore, to avoid displaying the same ESM twice due to changes in orientation ContentValues update_state = new ContentValues(); update_state.put(ESM_Data.STATUS, ESM.STATUS_VISIBLE); getActivity().getContentResolver().update(ESM_Data.CONTENT_URI, update_state, ESM_Data._ID + "=" + esm_id, null); esm_type = visible_esm.getInt(visible_esm.getColumnIndex(ESM_Data.TYPE)); expires_seconds = visible_esm.getInt(visible_esm.getColumnIndex(ESM_Data.EXPIRATION_THREASHOLD)); builder.setTitle(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.TITLE))); View ui = null; switch (esm_type) { case ESM.TYPE_ESM_TEXT: ui = inflater.inflate(R.layout.esm_text, null); break; case ESM.TYPE_ESM_RADIO: ui = inflater.inflate(R.layout.esm_radio, null); break; case ESM.TYPE_ESM_CHECKBOX: ui = inflater.inflate(R.layout.esm_checkbox, null); break; case ESM.TYPE_ESM_LIKERT: ui = inflater.inflate(R.layout.esm_likert, null); break; case ESM.TYPE_ESM_QUICK_ANSWERS: ui = inflater.inflate(R.layout.esm_quick, null); break; } final View layout = ui; builder.setView(layout); current_dialog = builder.create(); sContext = current_dialog.getContext(); TextView esm_instructions = (TextView) layout.findViewById(R.id.esm_instructions); esm_instructions.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.INSTRUCTIONS))); switch (esm_type) { case ESM.TYPE_ESM_TEXT: final EditText feedback = (EditText) layout.findViewById(R.id.esm_feedback); Button cancel_text = (Button) layout.findViewById(R.id.esm_cancel); cancel_text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { inputManager.hideSoftInputFromWindow(feedback.getWindowToken(), 0); current_dialog.cancel(); } }); Button submit_text = (Button) layout.findViewById(R.id.esm_submit); submit_text.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.SUBMIT))); submit_text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { inputManager.hideSoftInputFromWindow(feedback.getWindowToken(), 0); if (expires_seconds > 0 && expire_monitor != null) expire_monitor.cancel(true); ContentValues rowData = new ContentValues(); rowData.put(ESM_Data.ANSWER_TIMESTAMP, System.currentTimeMillis()); rowData.put(ESM_Data.ANSWER, feedback.getText().toString()); rowData.put(ESM_Data.STATUS, ESM.STATUS_ANSWERED); sContext.getContentResolver().update(ESM_Data.CONTENT_URI, rowData, ESM_Data._ID + "=" + esm_id, null); Intent answer = new Intent(ESM.ACTION_AWARE_ESM_ANSWERED); getActivity().sendBroadcast(answer); if (Aware.DEBUG) Log.d(TAG, "Answer:" + rowData.toString()); current_dialog.dismiss(); } }); break; case ESM.TYPE_ESM_RADIO: try { final RadioGroup radioOptions = (RadioGroup) layout.findViewById(R.id.esm_radio); final JSONArray radios = new JSONArray( visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.RADIOS))); for (int i = 0; i < radios.length(); i++) { final RadioButton radioOption = new RadioButton(getActivity()); radioOption.setId(i); radioOption.setText(radios.getString(i)); radioOptions.addView(radioOption); if (radios.getString(i).equals("Other")) { radioOption.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final Dialog editOther = new Dialog(getActivity()); editOther.setTitle("Can you be more specific, please?"); editOther.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); editOther.getWindow().setGravity(Gravity.TOP); editOther.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LinearLayout editor = new LinearLayout(getActivity()); editor.setOrientation(LinearLayout.VERTICAL); editOther.setContentView(editor); editOther.show(); final EditText otherText = new EditText(getActivity()); editor.addView(otherText); Button confirm = new Button(getActivity()); confirm.setText("OK"); confirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (otherText.length() > 0) radioOption.setText(otherText.getText()); inputManager.hideSoftInputFromWindow(otherText.getWindowToken(), 0); editOther.dismiss(); } }); editor.addView(confirm); } }); } } Button cancel_radio = (Button) layout.findViewById(R.id.esm_cancel); cancel_radio.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { current_dialog.cancel(); } }); Button submit_radio = (Button) layout.findViewById(R.id.esm_submit); submit_radio.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.SUBMIT))); submit_radio.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (expires_seconds > 0 && expire_monitor != null) expire_monitor.cancel(true); ContentValues rowData = new ContentValues(); rowData.put(ESM_Data.ANSWER_TIMESTAMP, System.currentTimeMillis()); RadioGroup radioOptions = (RadioGroup) layout.findViewById(R.id.esm_radio); if (radioOptions.getCheckedRadioButtonId() != -1) { RadioButton selected = (RadioButton) radioOptions .getChildAt(radioOptions.getCheckedRadioButtonId()); rowData.put(ESM_Data.ANSWER, selected.getText().toString()); } rowData.put(ESM_Data.STATUS, ESM.STATUS_ANSWERED); sContext.getContentResolver().update(ESM_Data.CONTENT_URI, rowData, ESM_Data._ID + "=" + esm_id, null); Intent answer = new Intent(ESM.ACTION_AWARE_ESM_ANSWERED); getActivity().sendBroadcast(answer); if (Aware.DEBUG) Log.d(TAG, "Answer:" + rowData.toString()); current_dialog.dismiss(); } }); } catch (JSONException e) { e.printStackTrace(); } break; case ESM.TYPE_ESM_CHECKBOX: try { final LinearLayout checkboxes = (LinearLayout) layout.findViewById(R.id.esm_checkboxes); final JSONArray checks = new JSONArray( visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.CHECKBOXES))); for (int i = 0; i < checks.length(); i++) { final CheckBox checked = new CheckBox(getActivity()); checked.setText(checks.getString(i)); checked.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(final CompoundButton buttonView, boolean isChecked) { if (isChecked) { if (buttonView.getText().equals("Other")) { checked.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final Dialog editOther = new Dialog(getActivity()); editOther.setTitle("Can you be more specific, please?"); editOther.getWindow() .setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); editOther.getWindow().setGravity(Gravity.TOP); editOther.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LinearLayout editor = new LinearLayout(getActivity()); editor.setOrientation(LinearLayout.VERTICAL); editOther.setContentView(editor); editOther.show(); final EditText otherText = new EditText(getActivity()); editor.addView(otherText); Button confirm = new Button(getActivity()); confirm.setText("OK"); confirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (otherText.length() > 0) { inputManager.hideSoftInputFromWindow( otherText.getWindowToken(), 0); selected_options .remove(buttonView.getText().toString()); checked.setText(otherText.getText()); selected_options.add(otherText.getText().toString()); } editOther.dismiss(); } }); editor.addView(confirm); } }); } else { selected_options.add(buttonView.getText().toString()); } } else { selected_options.remove(buttonView.getText().toString()); } } }); checkboxes.addView(checked); } Button cancel_checkbox = (Button) layout.findViewById(R.id.esm_cancel); cancel_checkbox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { current_dialog.cancel(); } }); Button submit_checkbox = (Button) layout.findViewById(R.id.esm_submit); submit_checkbox.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.SUBMIT))); submit_checkbox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (expires_seconds > 0 && expire_monitor != null) expire_monitor.cancel(true); ContentValues rowData = new ContentValues(); rowData.put(ESM_Data.ANSWER_TIMESTAMP, System.currentTimeMillis()); if (selected_options.size() > 0) { rowData.put(ESM_Data.ANSWER, selected_options.toString()); } rowData.put(ESM_Data.STATUS, ESM.STATUS_ANSWERED); sContext.getContentResolver().update(ESM_Data.CONTENT_URI, rowData, ESM_Data._ID + "=" + esm_id, null); Intent answer = new Intent(ESM.ACTION_AWARE_ESM_ANSWERED); getActivity().sendBroadcast(answer); if (Aware.DEBUG) Log.d(TAG, "Answer:" + rowData.toString()); current_dialog.dismiss(); } }); } catch (JSONException e) { e.printStackTrace(); } break; case ESM.TYPE_ESM_LIKERT: final RatingBar ratingBar = (RatingBar) layout.findViewById(R.id.esm_likert); ratingBar.setMax(visible_esm.getInt(visible_esm.getColumnIndex(ESM_Data.LIKERT_MAX))); ratingBar.setStepSize( (float) visible_esm.getDouble(visible_esm.getColumnIndex(ESM_Data.LIKERT_STEP))); ratingBar.setNumStars(visible_esm.getInt(visible_esm.getColumnIndex(ESM_Data.LIKERT_MAX))); TextView min_label = (TextView) layout.findViewById(R.id.esm_min); min_label.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.LIKERT_MIN_LABEL))); TextView max_label = (TextView) layout.findViewById(R.id.esm_max); max_label.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.LIKERT_MAX_LABEL))); Button cancel = (Button) layout.findViewById(R.id.esm_cancel); cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { current_dialog.cancel(); } }); Button submit = (Button) layout.findViewById(R.id.esm_submit); submit.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.SUBMIT))); submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (expires_seconds > 0 && expire_monitor != null) expire_monitor.cancel(true); ContentValues rowData = new ContentValues(); rowData.put(ESM_Data.ANSWER_TIMESTAMP, System.currentTimeMillis()); rowData.put(ESM_Data.ANSWER, ratingBar.getRating()); rowData.put(ESM_Data.STATUS, ESM.STATUS_ANSWERED); sContext.getContentResolver().update(ESM_Data.CONTENT_URI, rowData, ESM_Data._ID + "=" + esm_id, null); Intent answer = new Intent(ESM.ACTION_AWARE_ESM_ANSWERED); getActivity().sendBroadcast(answer); if (Aware.DEBUG) Log.d(TAG, "Answer:" + rowData.toString()); current_dialog.dismiss(); } }); break; case ESM.TYPE_ESM_QUICK_ANSWERS: try { final JSONArray answers = new JSONArray( visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.QUICK_ANSWERS))); final LinearLayout answersHolder = (LinearLayout) layout.findViewById(R.id.esm_answers); //If we have more than 3 possibilities, better that the UI is vertical for UX if (answers.length() > 3) { answersHolder.setOrientation(LinearLayout.VERTICAL); } for (int i = 0; i < answers.length(); i++) { final Button answer = new Button(getActivity()); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1.0f); answer.setLayoutParams(params); answer.setText(answers.getString(i)); answer.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (expires_seconds > 0 && expire_monitor != null) expire_monitor.cancel(true); ContentValues rowData = new ContentValues(); rowData.put(ESM_Data.ANSWER_TIMESTAMP, System.currentTimeMillis()); rowData.put(ESM_Data.STATUS, ESM.STATUS_ANSWERED); rowData.put(ESM_Data.ANSWER, (String) answer.getText()); sContext.getContentResolver().update(ESM_Data.CONTENT_URI, rowData, ESM_Data._ID + "=" + esm_id, null); Intent answer = new Intent(ESM.ACTION_AWARE_ESM_ANSWERED); getActivity().sendBroadcast(answer); if (Aware.DEBUG) Log.d(TAG, "Answer:" + rowData.toString()); current_dialog.dismiss(); } }); answersHolder.addView(answer); } } catch (JSONException e) { e.printStackTrace(); } break; } } if (visible_esm != null && !visible_esm.isClosed()) visible_esm.close(); //Start dialog visibility threshold if (expires_seconds > 0) { expire_monitor = new ESMExpireMonitor(System.currentTimeMillis(), expires_seconds, esm_id); expire_monitor.execute(); } //Fixed: doesn't dismiss the dialog if touched outside or ghost touches current_dialog.setCanceledOnTouchOutside(false); return current_dialog; }