Instantly share code, notes, and snippets.
Created
June 5, 2015 05:58
-
Star
(1)
1
You must be signed in to star a gist -
Fork
(0)
0
You must be signed in to fork a gist
-
Save pookie13/856d2debbc6b7b499b46 to your computer and use it in GitHub Desktop.
Common function used in project.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class SharedHelper { | |
private static NotificationManager mNotificationManager; | |
private static Class<?> aClass; | |
private static ProgressDialog progressDialog; | |
private static Uri mBaseUri; | |
private static SharedPreferences.Editor editor; | |
private static SharedPreferences pref; | |
private static Class<?> mClass; | |
public static void showRecentChats(Context context) { | |
try { | |
mClass = Class.forName("com.hestabit.rqchat.RecentActivity"); | |
Log.d("secondActivity", mClass.toString()); | |
} catch (ClassNotFoundException e) { | |
e.printStackTrace(); | |
} | |
Intent intent = new Intent(context, mClass); | |
context.startActivity(intent); | |
} | |
/** | |
* function used to show notification and handle click on notification | |
* provide full name (with package name) to second Activity. | |
* | |
* @param context | |
* @param title | |
* @param subTitle | |
* @param ticker | |
* @param secondActivity | |
*/ | |
public static void showNotification(Context context, String title, String subTitle, String ticker, String secondActivity) { | |
String s = secondActivity + ".class"; | |
Log.d("secondActivity", secondActivity); | |
try { | |
aClass = Class.forName(secondActivity); | |
Log.d("secondActivity", aClass.toString()); | |
} catch (ClassNotFoundException e) { | |
e.printStackTrace(); | |
} | |
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context); | |
mBuilder.setContentTitle(title); | |
mBuilder.setContentText(subTitle); | |
mBuilder.setTicker(ticker); | |
mBuilder.setSmallIcon(R.drawable.ic_launcher); | |
//todo:make Statcking Notification. | |
// mBuilder.setStyle(new NotificationCompat.InboxStyle().addLine(dsghgshdgshdg)); | |
/* Increase notification number every time a new notification arrives */ | |
mBuilder.setNumber(9); | |
/* Creates an explicit intent for an Activity in your app */ | |
if (aClass != null) { | |
Intent resultIntent = new Intent(context, aClass); | |
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); | |
// stackBuilder.addParentStack(SecondActivity.class); | |
/* Adds the Intent that starts the Activity to the top of the stack */ | |
stackBuilder.addNextIntent(resultIntent); | |
PendingIntent resultPendingIntent = | |
stackBuilder.getPendingIntent( | |
0, | |
PendingIntent.FLAG_UPDATE_CURRENT | |
); | |
mBuilder.setContentIntent(resultPendingIntent); | |
} | |
mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); | |
/* notificationID allows you to update the notification later on. */ | |
mNotificationManager.notify(12, mBuilder.build()); | |
} | |
/** | |
* function used to get UGT time. | |
* | |
* @return | |
*/ | |
public static String getGMTTime() { | |
final SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z"); | |
f.setTimeZone(TimeZone.getTimeZone("UTC")); | |
Log.d("UTC TIME PICKER", f.format(new Date())); | |
return f.format(new Date()); | |
} | |
public static void setErrorNotify(View view, String error) { | |
} | |
/** | |
* function used to show toast/ | |
* | |
* @param context | |
* @param message | |
*/ | |
public static void showToast(Context context, String message) { | |
Toast.makeText(context, message, Toast.LENGTH_LONG).show(); | |
} | |
/** | |
* function used to get is phone connected to internet. | |
* | |
* @param context | |
*/ | |
public static void isInternetConnected(Context context) { | |
ConnectivityManager connectivityManager | |
= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); | |
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); | |
if (activeNetworkInfo != null) { | |
if (!activeNetworkInfo.isConnected()) { | |
showToast(context, "No InterNet Connection"); | |
} else { | |
showToast(context, "connected"); | |
} | |
} | |
} | |
public static boolean isNetConnected(Context context) { | |
ConnectivityManager connectivityManager | |
= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); | |
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); | |
return activeNetworkInfo != null && activeNetworkInfo.isConnected(); | |
} | |
/** | |
* function used to Save contact in phone contacts. | |
* | |
* @param name | |
* @param phoneNumber | |
*/ | |
public static void saveTOContactBook(Context mContext, String name, String phoneNumber) { | |
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); | |
int rawContentInsertIndex = ops.size(); | |
ops.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI).withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null) | |
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null).build()); | |
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI).withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContentInsertIndex) | |
.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE) | |
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name).build()); | |
ops.add(ContentProviderOperation | |
.newInsert(ContactsContract.Data.CONTENT_URI) | |
.withValueBackReference( | |
ContactsContract.Data.RAW_CONTACT_ID, rawContentInsertIndex) | |
.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) | |
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, phoneNumber) // Number of the person | |
.withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE).build()); | |
try { | |
ContentProviderResult[] res = mContext.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); | |
} catch (RemoteException re) { | |
} catch (OperationApplicationException e) { | |
} | |
showToast(mContext, "contact Save."); | |
} | |
public static void openDialPad(Context context, String number) { | |
Intent dial = new Intent(); | |
dial.setAction("android.intent.action.DIAL"); | |
dial.setData(Uri.parse("tel:" + number)); | |
context.startActivity(dial); | |
} | |
/** | |
* function used to get all phone contacts list | |
* | |
* @param mContext | |
* @return | |
*/ | |
public static String getAllContactsFromPhone(Context mContext) { | |
String phoneNumbers = null; | |
ContentResolver cr = mContext.getContentResolver(); | |
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, | |
null, null, null, null); | |
if (cur.getCount() > 0) { | |
while (cur.moveToNext()) { | |
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID)); | |
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); | |
if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { | |
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[]{id}, null); | |
while (pCur.moveToNext()) { | |
String numberData = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); | |
phoneNumbers = phoneNumbers + "," + numberData; | |
} | |
pCur.close(); | |
} | |
} | |
} | |
return phoneNumbers; | |
} | |
/** | |
* function used to get name of user in phone contact repository of number provided. | |
* | |
* @param mContext | |
* @param phoneNumber | |
* @return | |
*/ | |
public static String getContactName(Context mContext, String phoneNumber) { | |
Uri uri; | |
String[] projection; | |
mBaseUri = Contacts.Phones.CONTENT_FILTER_URL; | |
projection = new String[]{Contacts.People.NAME}; | |
try { | |
Class<?> c = Class.forName("android.provider.ContactsContract$PhoneLookup"); | |
mBaseUri = (Uri) c.getField("CONTENT_FILTER_URI").get(mBaseUri); | |
projection = new String[]{"display_name"}; | |
} catch (Exception e) { | |
} | |
uri = Uri.withAppendedPath(mBaseUri, Uri.encode(phoneNumber)); | |
Cursor cursor = mContext.getContentResolver().query(uri, projection, null, null, null); | |
String contactName = ""; | |
if (cursor.moveToFirst()) { | |
contactName = cursor.getString(0); | |
} | |
cursor.close(); | |
cursor = null; | |
return contactName; | |
} | |
/** | |
* function to create Random number | |
* | |
* @return String(random number) | |
*/ | |
public static String getUniqueID() { | |
String id = UUID.randomUUID().toString(); | |
return id; | |
} | |
/** | |
* function used to Encode Bitmap into Base 64. | |
* | |
* @param image | |
* @return | |
*/ | |
public static String encodeToBase64(Bitmap image) { | |
Bitmap immage = image; | |
ByteArrayOutputStream baos = new ByteArrayOutputStream(); | |
immage.compress(Bitmap.CompressFormat.PNG, 100, baos); | |
byte[] b = baos.toByteArray(); | |
String imageEncoded = Base64.encodeToString(b, Base64.DEFAULT); | |
Log.d("Image Log:", imageEncoded); | |
return imageEncoded; | |
} | |
/** | |
* function used to Decode String(Base64) in to Image Bitmap. | |
* | |
* @param input | |
* @return | |
*/ | |
public static Bitmap decodeBase64Profile(String input) { | |
Bitmap bitmap = null; | |
if (input != null) { | |
byte[] decodedByte = Base64.decode(input, 0); | |
bitmap = BitmapFactory | |
.decodeByteArray(decodedByte, 0, decodedByte.length); | |
} | |
return bitmap; | |
} | |
/** | |
* function used to show progress dialog. | |
*/ | |
public static void showProgressDialog(Context mContext) { | |
progressDialog = new ProgressDialog(mContext); | |
progressDialog.setMessage("Please wait..."); | |
progressDialog.setCancelable(false); | |
progressDialog.show(); | |
} | |
/** | |
* hide progress dialog. | |
*/ | |
public static void hideProgressDialog() { | |
progressDialog.dismiss(); | |
} | |
/** | |
* function used to get SubString From String. | |
* | |
* @param mainString | |
* @param lastString | |
* @param startString | |
* @return | |
*/ | |
public static String getSubString(String mainString, String lastString, String startString) { | |
String endString = ""; | |
int endIndex = mainString.indexOf(lastString); | |
int startIndex = mainString.indexOf(startString); | |
Log.d("message", "" + mainString.substring(startIndex, endIndex)); | |
endString = mainString.substring(startIndex, endIndex); | |
return endString; | |
} | |
/** | |
* Saves the Bitmap as a PNG file at path 'fullPath' | |
* | |
* @param fullPath path of the image file | |
* @param bitmap the image as a Bitmap | |
* @return true if it successfully saved, false otherwise | |
* path in form of(Environment.getExternalStorageDirectory().toString() +"/" + "folderName";); | |
*/ | |
private boolean saveBitmapInToFolder(String fullPath, Bitmap bitmap) { | |
if (fullPath == null || bitmap == null) | |
return false; | |
boolean fileCreated = false; | |
boolean bitmapCompressed = false; | |
boolean streamClosed = false; | |
File imageFile = new File(fullPath); | |
if (imageFile.exists()) | |
if (!imageFile.delete()) | |
return false; | |
try { | |
fileCreated = imageFile.createNewFile(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
FileOutputStream out = null; | |
try { | |
out = new FileOutputStream(imageFile); | |
bitmapCompressed = bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
bitmapCompressed = false; | |
} finally { | |
if (out != null) { | |
try { | |
out.flush(); | |
out.close(); | |
streamClosed = true; | |
} catch (IOException e) { | |
e.printStackTrace(); | |
streamClosed = false; | |
} | |
} | |
} | |
return (fileCreated && bitmapCompressed && streamClosed); | |
} | |
/** | |
* Decodes the Bitmap from 'path' and returns it | |
* | |
* @param path image path | |
* @return the Bitmap from 'path' | |
*/ | |
public static Bitmap getImageFromPath(String path) { | |
Bitmap bitmapFromPath = null; | |
try { | |
bitmapFromPath = BitmapFactory.decodeFile(path); | |
} catch (Exception e) { | |
// TODO: handle exception | |
e.printStackTrace(); | |
} | |
return bitmapFromPath; | |
} | |
//tiny DB like | |
public static void insertIntoSharedPref(Context mContext, String key, String value) { | |
pref = mContext.getSharedPreferences(mContext.getString(R.string.shared_pref_name), mContext.MODE_PRIVATE); | |
editor = pref.edit(); | |
editor.putString(key, value); | |
editor.commit(); | |
} | |
public static String getSharedPrefData(Context mContext, String key) { | |
pref = mContext.getSharedPreferences(mContext.getString(R.string.shared_pref_name), mContext.MODE_PRIVATE); | |
return pref.getString(key, null); | |
} | |
/*public String getContactName(Context context,final String phoneNumber) { | |
Uri uri; | |
String[] projection; | |
mBaseUri = Contacts.Phones.CONTENT_FILTER_URL; | |
projection = new String[]{android.provider.Contacts.People.NAME}; | |
try { | |
Class<?> c = Class.forName("android.provider.ContactsContract$PhoneLookup"); | |
mBaseUri = (Uri) c.getField("CONTENT_FILTER_URI").get(mBaseUri); | |
projection = new String[]{"display_name"}; | |
} catch (Exception e) { | |
} | |
uri = Uri.withAppendedPath(mBaseUri, Uri.encode(phoneNumber)); | |
Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null); | |
String contactName = ""; | |
if (cursor.moveToFirst()) { | |
contactName = cursor.getString(0); | |
} | |
cursor.close(); | |
cursor = null; | |
return contactName; | |
}*/ | |
public static String getNumberFromJID(String jid) { | |
if (jid.contains("@hestalabs")) { | |
Log.d("message", "" + jid); | |
int endIndex = jid.indexOf('@'); | |
int startIndex = 0; | |
Log.d("message", "" + jid.substring(startIndex, endIndex)); | |
jid = jid.substring(startIndex, endIndex); | |
} | |
return jid; | |
} | |
/** | |
* function used to get date and time by milli second. | |
* | |
* @param dateInMilliseconds | |
* @param dateFormat | |
* @return | |
*/ | |
public static String convertDate(String dateInMilliseconds, String dateFormat) { | |
return DateFormat.format(dateFormat, Long.parseLong(dateInMilliseconds)).toString(); | |
} | |
public static String convertDate(long dateInMilliseconds, String dateFormat) { | |
return DateFormat.format(dateFormat, dateInMilliseconds).toString(); | |
} | |
/** | |
* function used to set Shortcut at home screen. | |
* PERMISSION:com.android.launcher.permission.INSTALL_SHORTCUT | |
* | |
* @param context | |
* @param userName | |
*/ | |
public static void addShortcut(Context context, String userName, int position) { | |
Intent shortcutIntent = new Intent(context, ConversationActivity.class); | |
shortcutIntent.putExtra("position", position); | |
shortcutIntent.setAction(Intent.ACTION_MAIN); | |
Intent addIntent = new Intent(); | |
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); | |
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, userName); | |
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, | |
Intent.ShortcutIconResource.fromContext(context, R.drawable.logo)); | |
addIntent.putExtra("duplicate", false); | |
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); | |
context.sendBroadcast(addIntent); | |
} | |
//@pookie make .txt file | |
public static void generateNoteOnSD(Context context, String sFileName, String sBody) { | |
try { | |
File root = new File(Environment.getExternalStorageDirectory(), context.getString(R.string.app_name)); | |
if (!root.exists()) { | |
root.mkdirs(); | |
} | |
File gpxfile = new File(root, sFileName); | |
FileWriter writer = new FileWriter(gpxfile); | |
writer.append(sBody); | |
writer.flush(); | |
writer.close(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
} | |
/** | |
* Encodes bitmap to Base64 String | |
* | |
* @param path(ImageFilePath) | |
* @return Base64EncodedString | |
*/ | |
public static String encodeBase64(String path) { | |
String byte64String = null; | |
if (path != null) { | |
Log.d("SharedHelper_ImagePath", path); | |
Bitmap bitmap = BitmapFactory.decodeFile(path); | |
if (bitmap != null) { | |
Log.d("SharedHelper_bitmap", bitmap.toString()); | |
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); | |
bitmap.compress(Bitmap.CompressFormat.PNG, 90, byteArrayOutputStream); | |
byte[] byteArray = byteArrayOutputStream.toByteArray(); | |
byte64String = Base64.encodeToString(byteArray, Base64.DEFAULT); | |
Log.d("Base64EncodedSting", byte64String); | |
} else { | |
Log.d("Base64EncodedSting", " null"); | |
} | |
} | |
return byte64String; | |
} | |
public static String encodeBase64(Bitmap bitmap) { | |
String byte64String = null; | |
if (bitmap != null) { | |
Log.d("SharedHelper_ImagePath", bitmap.toString()); | |
if (bitmap != null) { | |
Log.d("SharedHelper_bitmap", bitmap.toString()); | |
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); | |
bitmap.compress(Bitmap.CompressFormat.PNG, 90, byteArrayOutputStream); | |
byte[] byteArray = byteArrayOutputStream.toByteArray(); | |
byte64String = Base64.encodeToString(byteArray, Base64.DEFAULT); | |
Log.d("Base64EncodedSting", byte64String); | |
} else { | |
Log.d("Base64EncodedSting", " null"); | |
} | |
} | |
return byte64String; | |
} | |
/** | |
* function used to make Animation while switch An Activity to Other. | |
* @param mContext | |
* @param startAnimation | |
* @param endAnimation | |
* 1-left_out | |
* 2-right_in | |
* 3-top_out | |
* 4-bottom_in | |
*/ | |
public static void animationForSwitchActivity(Activity mContext,int startAnimation,int endAnimation){ | |
int start = 0; | |
int end = 0; | |
switch (startAnimation){ | |
case 1: | |
start = R.anim.left_out; | |
break; | |
case 2: | |
start = R.anim.right_in; | |
break; | |
case 3: | |
start = R.anim.top_out; | |
break; | |
case 4: | |
start = R.anim.bottom_in; | |
break; | |
} | |
switch (endAnimation){ | |
case 1: | |
end = R.anim.left_out; | |
break; | |
case 2: | |
end = R.anim.right_in; | |
break; | |
case 3: | |
end = R.anim.top_out; | |
break; | |
case 4: | |
end = R.anim.bottom_in; | |
break; | |
} | |
mContext.overridePendingTransition(start,end); | |
} | |
public static void copyToClipboard(Context mContext,String textToCopy){ | |
ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE); | |
if (clipboard!=null) { | |
if (clipboard.hasText()){ | |
clipboard.setText(""); | |
} | |
clipboard.setText(textToCopy); | |
clipboard.getText(); | |
showToast(mContext,"text copy to clipboard."); | |
} | |
} | |
/*String textSize = getTextSize(); | |
if (textSize.equalsIgnoreCase("Small")) { | |
viewHolder.messageBody.setTextSize(10); | |
}else if (textSize.equalsIgnoreCase("Large")){ | |
viewHolder.messageBody.setTextSize(50); | |
}else{ | |
viewHolder.messageBody.setTextSize(16); | |
} | |
public String getTextSize(){ | |
String string = activity.getPreferences().getString("fount_size", "Medium"); | |
return string; | |
} | |
*/ | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment