use of com.danielstone.materialaboutlibrary.items.MaterialAboutItemOnClickAction in project material-about-library by daniel-stoneuk.
the class ExampleMaterialAboutFragment method createDynamicItem.
private MaterialAboutActionItem createDynamicItem(String subText, final Context c) {
final MaterialAboutActionItem item = new MaterialAboutActionItem.Builder().text("Dynamic UI").subText(subText).icon(new IconicsDrawable(c).icon(CommunityMaterial.Icon.cmd_refresh).sizeDp(18)).build();
item.setOnClickAction(new MaterialAboutItemOnClickAction() {
@Override
public void onClick() {
item.setSubText("Random number: " + ((int) (Math.random() * 10)));
refreshMaterialAboutList();
}
});
return item;
}
use of com.danielstone.materialaboutlibrary.items.MaterialAboutItemOnClickAction in project material-about-library by daniel-stoneuk.
the class ConvenienceBuilder method createPhoneOnClickAction.
/**
* Creates a MaterialAboutItemOnClickAction that will open
* the dialer with specified number.
*
* @param c context
* @param number phone number
* @return onClickAction
*/
public static MaterialAboutItemOnClickAction createPhoneOnClickAction(final Context c, String number) {
final Intent phoneIntent = new Intent(Intent.ACTION_DIAL);
phoneIntent.setData(Uri.parse("tel:" + number));
return new MaterialAboutItemOnClickAction() {
@Override
public void onClick() {
try {
c.startActivity(phoneIntent);
} catch (Exception e) {
// No activity to handle intent
Toast.makeText(c, R.string.mal_activity_exception, Toast.LENGTH_SHORT).show();
}
}
};
}
use of com.danielstone.materialaboutlibrary.items.MaterialAboutItemOnClickAction in project material-about-library by daniel-stoneuk.
the class ConvenienceBuilder method createEmailOnClickAction.
/**
* Creates a MaterialAboutItemOnClickAction that will open
* an email intent with specified address.
*
* @param c context
* @param email email address
* @return onClickAction
*/
public static MaterialAboutItemOnClickAction createEmailOnClickAction(final Context c, String email, String emailSubject, final CharSequence chooserTitle) {
final Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:" + email));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSubject);
return new MaterialAboutItemOnClickAction() {
@Override
public void onClick() {
try {
c.startActivity(Intent.createChooser(emailIntent, chooserTitle));
} catch (Exception e) {
// No activity to handle intent
Toast.makeText(c, R.string.mal_activity_exception, Toast.LENGTH_SHORT).show();
}
}
};
}
use of com.danielstone.materialaboutlibrary.items.MaterialAboutItemOnClickAction in project material-about-library by daniel-stoneuk.
the class ConvenienceBuilder method createWebsiteOnClickAction.
public static MaterialAboutItemOnClickAction createWebsiteOnClickAction(final Context c, final Uri websiteUrl) {
return new MaterialAboutItemOnClickAction() {
@Override
public void onClick() {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(websiteUrl);
try {
c.startActivity(i);
} catch (Exception e) {
// No activity to handle intent
Toast.makeText(c, R.string.mal_activity_exception, Toast.LENGTH_SHORT).show();
}
}
};
}
use of com.danielstone.materialaboutlibrary.items.MaterialAboutItemOnClickAction in project material-about-library by daniel-stoneuk.
the class ConvenienceBuilder method createMapOnClickAction.
/**
* Creates a MaterialAboutItemOnClickAction that will open
* maps with a query.
* Query can be either lat,lng(label) or written address
*
* @param c context
* @param addressQuery address query
* @return onClickAction
*/
public static MaterialAboutItemOnClickAction createMapOnClickAction(final Context c, String addressQuery) {
final Intent mapIntent = new Intent(Intent.ACTION_VIEW);
mapIntent.setData(Uri.parse("geo:0,0").buildUpon().appendQueryParameter("q", addressQuery).build());
return new MaterialAboutItemOnClickAction() {
@Override
public void onClick() {
try {
c.startActivity(mapIntent);
} catch (Exception e) {
// No activity to handle intent
Toast.makeText(c, R.string.mal_activity_exception, Toast.LENGTH_SHORT).show();
}
}
};
}
Aggregations