package com.novoda.priorityshare; import android.content.Intent; public interface OnPrepareSharingIntentListener { /** * Called before an intent is sent out to a priority sharing app. * This allows to tweak the contents of the Intent before it's fired. * <p/> * For example, a listener implementation could enforce length limits * for a sharing message if a certain target app is selected. * <p/> * The intent will contain the following informations: * <table> * <tr><td></td><td><b>Where it's stored</b></td></tr> * <tr><td>Target package</td><td><code>intent.getComponent().getPackageName()</code></td></tr> * <tr><td>Subject</td><td><code>intent.getCharSequenceExtra(Intent.EXTRA_SUBJECT)</code></td></tr> * <tr><td>Text</td><td><code>intent.getCharSequenceExtra(Intent.EXTRA_TEXT)</code></td></tr> * <tr><td>URI</td><td><code>intent.getDataUri()</code></td></tr> * </table> * <p/> * <b>NOTE:</b> do <i>NOT</i> change the URI or the target packages. Only change the Subject * and/or Text fields, as those are the ones the user would be allowed to edit anyway. * * @param intent the intent that is about to be sent. * @return the intent after any transformation. */ Intent onPrepareSharingIntent(Intent intent); }