use of net.iGap.observers.interfaces.OnGetPermission in project iGap-Android by KianIranian-STDG.
the class ChargeFragment method contactButtonClicked.
private View.OnClickListener contactButtonClicked() {
return v -> {
hideKeyboard();
progressBar.setVisibility(View.VISIBLE);
closeKeyboard(editTextNumber);
try {
HelperPermission.getContactPermision(getActivity(), new OnGetPermission() {
@Override
public void Allow() {
ChargeContactNumberAdapter adapter = new ChargeContactNumberAdapter();
contactButton.setEnabled(false);
PhoneContactProvider.getInstance().getAllPhoneContactForPayment(contactNumbers -> {
if (getContext() == null) {
return;
}
contactButton.setEnabled(true);
progressBar.setVisibility(View.GONE);
if (contactNumbers.size() == 0) {
HelperError.showSnackMessage(getResources().getString(R.string.no_number_found), false);
} else {
adapter.setContactNumbers(contactNumbers);
MaterialDialog dialog = new MaterialDialog.Builder(getContext()).customView(R.layout.popup_paymet_contact, false).build();
View contactDialogView = dialog.getCustomView();
if (contactDialogView != null) {
RecyclerView contactRecyclerView = contactDialogView.findViewById(R.id.rv_contact);
EditText editText = contactDialogView.findViewById(R.id.etSearch);
setDialogBackground(contactRecyclerView);
setDialogBackground(editText);
contactRecyclerView.setLayoutManager(new LinearLayoutManager(getContext(), RecyclerView.VERTICAL, false));
contactRecyclerView.setAdapter(adapter);
adapter.setOnItemClickListener(position -> {
contactPositionClicked = position;
onContactItemClicked(adapter);
dialog.dismiss();
});
ChargeContactNumberAdapter adapterContactNumber = (ChargeContactNumberAdapter) contactRecyclerView.getAdapter();
if (textWatcher != null)
editText.removeTextChangedListener(textWatcher);
textWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (adapterContactNumber != null)
adapterContactNumber.search(s.toString());
}
@Override
public void afterTextChanged(Editable s) {
}
};
editText.addTextChangedListener(textWatcher);
contactDialogView.findViewById(R.id.closeView).setOnClickListener(v12 -> dialog.dismiss());
}
dialog.show();
}
});
}
@Override
public void deny() {
progressBar.setVisibility(View.GONE);
showDeniedPermissionMessage(G.context.getString(R.string.permission_contact));
}
});
} catch (IOException e) {
e.printStackTrace();
}
};
}
use of net.iGap.observers.interfaces.OnGetPermission in project iGap-Android by KianIranian-STDG.
the class ScanCodeQRCodePaymentFragment method checkCameraPermission.
private void checkCameraPermission() {
PackageManager packageManager = context.getPackageManager();
if (!packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
Toast.makeText(context, context.getString(R.string.device_dosenot_camera_en), Toast.LENGTH_SHORT).show();
popBackStackFragment();
return;
}
try {
HelperPermission.getCameraPermission(context, new OnGetPermission() {
@Override
public void Allow() throws IOException {
if (getActivity() != null) {
if (mCodeScanner == null) {
mCodeScanner = new CodeScanner(getActivity(), mBinding.codeScanner);
}
initCodeScanner();
}
}
@Override
public void deny() {
if (ScanCodeQRCodePaymentFragment.this.isAdded()) {
popBackStackFragment();
}
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
use of net.iGap.observers.interfaces.OnGetPermission in project iGap-Android by KianIranian-STDG.
the class InternetFragment method onContactNumberButtonClick.
private void onContactNumberButtonClick() {
progressBar.setVisibility(View.VISIBLE);
frameContact.setEnabled(false);
closeKeyboard(editTextNumber);
try {
HelperPermission.getContactPermision(getActivity(), new OnGetPermission() {
@Override
public void Allow() {
ChargeContactNumberAdapter adapterContact = new ChargeContactNumberAdapter();
PhoneContactProvider.getInstance().getAllPhoneContactForPayment(contactNumbers -> {
if (getContext() == null) {
return;
}
frameContact.setEnabled(true);
progressBar.setVisibility(View.GONE);
if (contactNumbers.size() == 0) {
HelperError.showSnackMessage(getActivity().getString(R.string.no_number_found), false);
} else {
adapterContact.setContactNumbers(contactNumbers);
MaterialDialog dialog = new MaterialDialog.Builder(getContext()).customView(R.layout.popup_paymet_contact, false).build();
View contactDialogView = dialog.getCustomView();
if (contactDialogView != null) {
RecyclerView contactRecyclerView = contactDialogView.findViewById(R.id.rv_contact);
EditText editText = contactDialogView.findViewById(R.id.etSearch);
setDialogBackground(contactRecyclerView);
setDialogBackground(editText);
contactRecyclerView.setLayoutManager(new LinearLayoutManager(getContext(), RecyclerView.VERTICAL, false));
adapterContact.setOnItemClickListener(position -> {
clickedPosition = position;
onContactClicked(adapterContact);
dialog.dismiss();
});
contactRecyclerView.setAdapter(adapterContact);
if (watcher != null)
editText.removeTextChangedListener(watcher);
watcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s != null)
adapterContact.search(s.toString());
}
@Override
public void afterTextChanged(Editable s) {
}
};
editText.addTextChangedListener(watcher);
contactDialogView.findViewById(R.id.closeView).setOnClickListener(v12 -> dialog.dismiss());
}
dialog.show();
}
});
}
@Override
public void deny() {
progressBar.setVisibility(View.GONE);
showDeniedPermissionMessage(G.context.getString(R.string.permission_contact));
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
use of net.iGap.observers.interfaces.OnGetPermission in project iGap-Android by KianIranian-STDG.
the class BaseViewHolder method handleDiscoveryFieldsClickStatic.
public static void handleDiscoveryFieldsClickStatic(DiscoveryItemField discoveryField, FragmentActivity activity, boolean haveNext) {
if (activity == null || activity.isFinishing()) {
return;
}
if (discoveryField.agreementSlug != null && discoveryField.agreementSlug.length() > 1) {
if (!discoveryField.agreement) {
DiscoveryFragmentAgreement.newInstance(discoveryField, discoveryField.agreementSlug).show(activity.getSupportFragmentManager(), null);
return;
}
}
new RequestClientSetDiscoveryItemClick().setDiscoveryClicked(discoveryField.id);
switch(discoveryField.actionType) {
case PAGE:
/**
* tested *
*/
actionPage(discoveryField.value, activity, haveNext);
break;
case JOIN_LINK:
int index = discoveryField.value.lastIndexOf("/");
if (index >= 0 && index < discoveryField.value.length() - 1) {
String token = discoveryField.value.substring(index + 1);
if (discoveryField.value.toLowerCase().contains("join")) {
HelperUrl.checkAndJoinToRoom(activity, token);
} else {
HelperUrl.checkUsernameAndGoToRoom(activity, token, HelperUrl.ChatEntry.profile);
}
}
break;
case WEB_LINK:
/**
* tested *
*/
SharedPreferences sharedPreferences = activity.getSharedPreferences(SHP_SETTING.FILE_NAME, Context.MODE_PRIVATE);
int checkedInAppBrowser = sharedPreferences.getInt(SHP_SETTING.KEY_IN_APP_BROWSER, 1);
if (checkedInAppBrowser == 1 && !HelperUrl.isNeedOpenWithoutBrowser(discoveryField.value)) {
HelperUrl.openBrowser(discoveryField.value);
} else {
HelperUrl.openWithoutBrowser(discoveryField.value);
}
break;
case IVAND:
new HelperFragment(activity.getSupportFragmentManager(), new FragmentUserScore()).setReplace(false).load();
break;
case IVANDQR:
UserScoreViewModel.scanBarCode(activity);
break;
case IVANDLIST:
new HelperFragment(activity.getSupportFragmentManager(), FragmentIVandActivities.newInstance()).setReplace(false).load();
break;
case WEB_VIEW_LINK:
/**
* tested title needed*
*/
if (HelperUrl.isNeedOpenWithoutBrowser(discoveryField.value)) {
HelperUrl.openWithoutBrowser(discoveryField.value);
} else {
new HelperFragment(activity.getSupportFragmentManager(), FragmentWebView.newInstance(discoveryField.value, discoveryField.refresh, discoveryField.param)).setReplace(false).load();
}
break;
case USERNAME_LINK:
/**
* tested *
*/
HelperUrl.checkUsernameAndGoToRoomWithMessageId(activity, discoveryField.value.replace("@", ""), HelperUrl.ChatEntry.chat, 0, 0);
break;
case TOPUP_MENU:
/**
* tested *
*/
new HelperFragment(activity.getSupportFragmentManager(), ChargeFragment.newInstance()).setReplace(false).load();
break;
case BILL_MENU:
try {
JSONObject jsonObject = new JSONObject(discoveryField.value);
new HelperFragment(activity.getSupportFragmentManager(), FragmentPaymentBill.newInstance(R.string.pay_bills, jsonObject)).setReplace(false).load();
} catch (JSONException e) {
new HelperFragment(activity.getSupportFragmentManager(), FragmentPaymentBill.newInstance(R.string.pay_bills)).setReplace(false).load();
}
break;
case TRAFFIC_BILL_MENU:
/**
* tested *
*/
try {
JSONObject jsonObject = new JSONObject(discoveryField.value);
new HelperFragment(activity.getSupportFragmentManager(), FragmentPaymentBill.newInstance(R.string.pay_bills_crime, jsonObject)).setReplace(false).load();
} catch (JSONException e) {
new HelperFragment(activity.getSupportFragmentManager(), FragmentPaymentBill.newInstance(R.string.pay_bills_crime)).setReplace(false).load();
}
break;
case PHONE_BILL_MENU:
/**
* tested *
*/
new HelperFragment(activity.getSupportFragmentManager(), new FragmentPaymentInquiryTelephone()).setReplace(false).load();
break;
case ELECTRIC_BILL_MENU:
new HelperFragment(activity.getSupportFragmentManager(), new ElectricityBillMainFrag()).setReplace(false).load();
// new HelperFragment(activity.getSupportFragmentManager(), new MobileBankLoginFragment()).setReplace(false).load();
break;
case PARSLAND:
break;
case FUN_SERVICE:
new HelperFragment(activity.getSupportFragmentManager(), new IGashtProvinceFragment()).setReplace(false).load();
break;
case BLOCKCHAIN:
break;
case VIRTUAL_GIFT_CARD:
break;
case NEWS:
NewsMainFrag frag = new NewsMainFrag();
if (!discoveryField.value.equals(""))
frag.setSpecificNewsID(discoveryField.value);
new HelperFragment(activity.getSupportFragmentManager(), frag).setReplace(false).load();
break;
case MOBILE_BILL_MENU:
/**
* tested *
*/
new HelperFragment(activity.getSupportFragmentManager(), new FragmentPaymentInquiryMobile()).setReplace(false).load();
break;
case FINANCIAL_MENU:
/**
* tested *
*/
new HelperFragment(activity.getSupportFragmentManager(), FragmentPayment.newInstance()).setReplace(false).load();
break;
case NEARBY_MENU:
/**
* tested *
*/
try {
HelperPermission.getLocationPermission(activity, new OnGetPermission() {
@Override
public void Allow() throws IOException {
try {
if (!waitingForConfiguration) {
waitingForConfiguration = true;
if (mapUrls == null || mapUrls.isEmpty() || mapUrls.size() == 0) {
G.onGeoGetConfiguration = new OnGeoGetConfiguration() {
@Override
public void onGetConfiguration() {
G.handler.postDelayed(new Runnable() {
@Override
public void run() {
waitingForConfiguration = false;
}
}, 2000);
new HelperFragment(activity.getSupportFragmentManager(), FragmentiGapMap.getInstance()).setReplace(false).load();
}
@Override
public void getConfigurationTimeOut() {
G.handler.postDelayed(new Runnable() {
@Override
public void run() {
waitingForConfiguration = false;
}
}, 2000);
}
};
new RequestGeoGetConfiguration().getConfiguration();
} else {
G.handler.postDelayed(new Runnable() {
@Override
public void run() {
waitingForConfiguration = false;
}
}, 2000);
new HelperFragment(activity.getSupportFragmentManager(), FragmentiGapMap.getInstance()).setReplace(false).load();
}
}
} catch (Exception e) {
e.getStackTrace();
}
}
@Override
public void deny() {
showDeniedPermissionMessage(G.context.getString(R.string.permission_location));
}
});
} catch (IOException e) {
e.printStackTrace();
}
break;
case REQUEST_PHONE:
// this item is for bot
break;
case REQUEST_LOCATION:
// this item is for bot
break;
case BOT_ACTION:
// this item is for bot
break;
case PAY_BY_WALLET:
// coming soon
break;
case PAY_DIRECT:
try {
JSONObject jsonObject = new JSONObject(discoveryField.value);
DirectPayHelper.directPay(jsonObject);
} catch (JSONException e) {
e.printStackTrace();
}
break;
case CALL:
/**
* tested *
*/
dialPhoneNumber(activity, discoveryField.value, activity);
break;
case SHOW_ALERT:
/**
* tested *
*/
new MaterialDialog.Builder(activity).content(discoveryField.value).positiveText(R.string.dialog_ok).onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
}
}).show();
break;
case STREAM_PLAY:
// coming soon
break;
case STICKER_SHOP:
/**
* tested *
*/
StickerRepository.getInstance().getUserStickersGroup();
if (discoveryField.value.isEmpty()) {
new HelperFragment(activity.getSupportFragmentManager(), FragmentSettingAddStickers.newInstance("ALL")).setReplace(false).load();
} else {
try {
String title = "";
JSONObject jsonObject = new JSONObject(discoveryField.value);
if (jsonObject.has("title"))
title = jsonObject.getString("title");
if (jsonObject.has("group")) {
String category = jsonObject.getString("group");
if (!category.isEmpty()) {
if (jsonObject.has("type")) {
String type = jsonObject.getString("type");
new HelperFragment(activity.getSupportFragmentManager(), AddStickersFragment.newInstance(category, type, title)).setReplace(false).load();
} else {
new HelperFragment(activity.getSupportFragmentManager(), AddStickersFragment.newInstance(category, "ALL", title)).setReplace(false).load();
}
}
} else if (jsonObject.has("type")) {
String type = jsonObject.getString("type");
new HelperFragment(activity.getSupportFragmentManager(), FragmentSettingAddStickers.newInstance(type)).setReplace(false).load();
} else if (jsonObject.has("id")) {
String id = jsonObject.getString("id");
StickerDialogFragment dialogFragment = StickerDialogFragment.getInstance(id);
dialogFragment.show(activity.getSupportFragmentManager(), "BaseViewHolder");
}
} catch (JSONException e) {
e.printStackTrace();
}
}
break;
case CARD_TO_CARD:
CardToCardHelper.CallCardToCard(activity);
break;
case IVANDSCORE:
new MaterialDialog.Builder(activity).content(R.string.are_you_sure_request).positiveText(R.string.yes).negativeText(R.string.no).onPositive((dialog, which) -> {
dialog.dismiss();
ActivityMain.doIvandScore(discoveryField.value, activity);
}).onNegative((dialog, which) -> {
dialog.dismiss();
}).show();
break;
case NONE:
break;
case POLL:
new HelperFragment(activity.getSupportFragmentManager(), PollFragment.newInstance(Integer.parseInt(HelperString.isNumeric(discoveryField.value) ? discoveryField.value : "0"))).setReplace(false).load();
break;
case POLL_RESULT:
new HelperFragment(activity.getSupportFragmentManager(), ChartFragment.newInstance(Integer.parseInt(HelperString.isNumeric(discoveryField.value) ? discoveryField.value : "0"))).setReplace(false).load();
break;
case FAVORITE_CHANNEL:
if (discoveryField.value.equals(""))
new HelperFragment(activity.getSupportFragmentManager(), new PopularChannelHomeFragment()).setReplace(false).load();
else {
PopularMoreChannelFragment popularMoreChannelFragment = new PopularMoreChannelFragment();
Bundle bundle = new Bundle();
bundle.putString("id", discoveryField.value);
popularMoreChannelFragment.setArguments(bundle);
new HelperFragment(activity.getSupportFragmentManager(), popularMoreChannelFragment).setReplace(false).load();
}
break;
case FINANCIAL_HISTORY:
new HelperFragment(activity.getSupportFragmentManager(), new MplTransactionFragment()).setReplace(false).load();
break;
case INTERNET_PACKAGE_MENU:
new HelperFragment(activity.getSupportFragmentManager(), InternetFragment.newInstance()).setReplace(false).load();
break;
case CHARITY:
try {
JSONObject jsonObject = new JSONObject(discoveryField.value);
if (jsonObject.getInt("price") == 0) {
new MaterialDialog.Builder(activity).title(activity.getResources().getString(R.string.insert_amount_in_rial)).customView(R.layout.charity_custom_amount, false).positiveText(activity.getResources().getString(R.string.B_ok)).negativeText(activity.getResources().getString(R.string.B_cancel)).onPositive((dialog, which) -> {
EditText editText = dialog.getView().findViewById(R.id.editText);
if (editText.getText() != null) {
if (editText.getText().toString().length() > 0) {
int price = Integer.parseInt(editText.getText().toString());
if (price > 10000) {
HelperUrl.showIndeterminateProgressDialog(activity);
try {
dialog.cancel();
sendRequestGetCharityPaymentToken(activity, jsonObject.getString("charityId"), price);
} catch (JSONException e) {
HelperUrl.closeDialogWaiting();
e.printStackTrace();
}
} else {
Toast.makeText(activity, activity.getResources().getString(R.string.amount_must_be_greater_10000), Toast.LENGTH_SHORT).show();
}
}
}
}).build().show();
} else {
HelperUrl.showIndeterminateProgressDialog(activity);
sendRequestGetCharityPaymentToken(activity, jsonObject.getString("charityId"), jsonObject.getInt("price"));
}
} catch (JSONException e) {
HelperUrl.closeDialogWaiting();
e.printStackTrace();
}
break;
case INVITE_FRIEND:
try {
HelperPermission.getContactPermision(activity, new OnGetPermission() {
@Override
public void Allow() {
new HelperFragment(activity.getSupportFragmentManager(), new LocalContactFragment()).setReplace(false).load(true);
}
@Override
public void deny() {
showDeniedPermissionMessage(G.context.getString(R.string.permission_contact));
}
});
} catch (IOException e) {
e.printStackTrace();
}
break;
case QRPAY:
new HelperFragment(activity.getSupportFragmentManager(), ScanCodeQRCodePaymentFragment.newInstance()).setReplace(false).load();
break;
default:
new MaterialDialog.Builder(activity).content(R.string.install_latest_version).positiveText(R.string.ok).onPositive((dialog, which) -> dialog.dismiss()).show();
break;
}
}
use of net.iGap.observers.interfaces.OnGetPermission in project iGap-Android by KianIranian-STDG.
the class HelperSaveFile method saveToMusicFolder.
// public static void savePicToGallery(final String filePath, final boolean showToast) {
//
// if (!HelperPermision.grantedUseStorage()) {
// try {
// HelperPermision.getStoragePermision(G.fragmentActivity, new OnGetPermission() {
// @Override
// public void Allow() throws IOException {
// savePicToGallery(filePath, showToast);
// }
//
// @Override
// public void deny() {
//
// }
// });
// } catch (IOException e) {
// e.printStackTrace();
// }
// } else {
// ContentValues values = new ContentValues();
// values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis());
// values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
// values.put(MediaStore.MediaColumns.DATA, filePath);
//
// try {
// G.context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
// if (showToast) {
// Toast.makeText(G.context, R.string.picture_save_to_galary, Toast.LENGTH_SHORT).show();
// }
// } catch (Exception e) {
//
// Bitmap bitmap = BitmapFactory.decodeFile(filePath);
// String name = filePath.substring(filePath.lastIndexOf("/"));
//
// MediaStore.Images.Media.insertImage(G.context.getContentResolver(), bitmap, name, "yourDescription");
//
// if (showToast) {
// Toast.makeText(G.context, R.string.picture_save_to_galary, Toast.LENGTH_SHORT).show();
// }
// }
// }
// }
public static void saveToMusicFolder(final String path, final String name) {
if (!HelperPermission.grantedUseStorage()) {
try {
HelperPermission.getStoragePermission(G.fragmentActivity, new OnGetPermission() {
@Override
public void Allow() throws IOException {
saveToMusicFolder(path, name);
}
@Override
public void deny() {
showDeniedPermissionMessage(G.context.getString(R.string.permission_storage));
}
});
} catch (IOException e) {
e.printStackTrace();
}
} else {
if (path == null)
return;
File mPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);
File file = new File(mPath, name);
try {
// Make sure the Pictures directory exists.
mPath.mkdirs();
InputStream is = new FileInputStream(path);
OutputStream os = new FileOutputStream(file);
byte[] data = new byte[is.available()];
is.read(data);
os.write(data);
is.close();
os.close();
// Tell the media scanner about the new file so that it is
// immediately available to the user.
MediaScannerConnection.scanFile(G.context, new String[] { file.toString() }, null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String mPath, Uri uri) {
}
});
Toast.makeText(G.context, G.context.getResources().getString(R.string.save_to_music_folder), Toast.LENGTH_SHORT).show();
} catch (IOException e) {
// Unable to create file, likely because external storage is
// not currently mounted.
e.printStackTrace();
}
}
}
Aggregations