Search in sources :

Example 1 with RequestLinkEvent

use of com.auth0.sharelock.event.RequestLinkEvent in project sharelock-android by auth0.

the class LinkFragment method onViewCreated.

@Override
public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    final EventBus bus = this.bus;
    TextView secretText = (TextView) view.findViewById(R.id.link_secret_text);
    secretText.setText(secret.getSecret());
    ShareEditText shareEditText = (ShareEditText) view.findViewById(R.id.link_share_list);
    shareEditText.setFocusable(false);
    shareEditText.allowDuplicates(false);
    for (String viewer : secret.getAllowedViewers()) {
        shareEditText.addObject(viewer);
    }
    linkText = (TextView) view.findViewById(R.id.link_text);
    progressBar = (ProgressBar) view.findViewById(R.id.link_progress);
    retryButton = (Button) view.findViewById(R.id.link_retry_button);
    shareButton = (ImageButton) view.findViewById(R.id.link_share_button);
    newButton = (ImageButton) view.findViewById(R.id.link_new_button);
    buttons = (ViewGroup) view.findViewById(R.id.link_buttons);
    retryButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            bus.post(new RequestLinkEvent(secret));
        }
    });
    shareButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent sendIntent = new Intent();
            sendIntent.setAction(Intent.ACTION_SEND);
            sendIntent.putExtra(Intent.EXTRA_TEXT, link.toString());
            sendIntent.setType("text/plain");
            startActivity(Intent.createChooser(sendIntent, getString(R.string.share_link_chooser_title)));
        }
    });
    newButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            AlertDialog dialog = new AlertDialog.Builder(getActivity()).setTitle(R.string.new_link_prompt_title).setMessage(R.string.new_link_prompt_message).setCancelable(true).setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    bus.post(new RequestNewSecretEvent());
                }
            }).setNegativeButton(R.string.cancel_button, null).create();
            dialog.show();
        }
    });
    ImageView craftedBy = (ImageView) view.findViewById(R.id.crafted_by);
    craftedBy.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            final Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setData(Uri.parse(getString(R.string.crafted_by_url)));
            startActivity(intent);
        }
    });
}
Also used : AlertDialog(android.app.AlertDialog) DialogInterface(android.content.DialogInterface) RequestNewSecretEvent(com.auth0.sharelock.event.RequestNewSecretEvent) Intent(android.content.Intent) EventBus(de.greenrobot.event.EventBus) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) RequestLinkEvent(com.auth0.sharelock.event.RequestLinkEvent) ShareEditText(com.auth0.sharelock.widget.ShareEditText) TextView(android.widget.TextView) ImageView(android.widget.ImageView)

Example 2 with RequestLinkEvent

use of com.auth0.sharelock.event.RequestLinkEvent in project sharelock-android by auth0.

the class ComposeActivity method onEvent.

public void onEvent(RequestLinkEvent event) {
    final Secret secret = event.getSecret();
    final EventBus bus = this.bus;
    SharedPreferences preferences = getSharedPreferences(getPackageName(), MODE_PRIVATE);
    client = new LinkAPIClient(preferences.getString(LinkAPIClient.SHARELOCK_ENDPOINT_KEY, LinkAPIClient.DEFAULT_URL));
    client.generateLinkForSecret(secret, this, new LinkAPIClient.LinkCallback() {

        @Override
        public void onSuccess(final Uri link) {
            Log.d(TAG, "Obtained link path " + link);
            handler.postDelayed(new Runnable() {

                @Override
                public void run() {
                    bus.postSticky(new NewLinkEvent(link));
                    final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
                    final ClipData clipData = ClipData.newRawUri("sharelocked-link", link);
                    clipboardManager.setPrimaryClip(clipData);
                    Snackbar snackbar = Snackbar.with(ComposeActivity.this).text(R.string.link_in_clipboard_message).duration(Snackbar.SnackbarDuration.LENGTH_SHORT);
                    SnackbarManager.show(snackbar);
                }
            }, DELAY_MILLIS);
        }

        @Override
        public void onError(Throwable reason) {
            Log.e(TAG, "Failed to generate link", reason);
            bus.post(new SharelockAPIErrorEvent());
            AlertDialog dialog = new AlertDialog.Builder(ComposeActivity.this).setTitle(R.string.link_generation_failed_title).setMessage(R.string.link_generation_failed).setCancelable(true).setPositiveButton(R.string.retry_button, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    bus.post(new RequestLinkEvent(secret));
                }
            }).setNegativeButton(R.string.cancel_button, null).create();
            dialog.show();
        }
    });
}
Also used : ClipboardManager(android.content.ClipboardManager) AlertDialog(android.app.AlertDialog) SharedPreferences(android.content.SharedPreferences) DialogInterface(android.content.DialogInterface) EventBus(de.greenrobot.event.EventBus) Uri(android.net.Uri) RequestLinkEvent(com.auth0.sharelock.event.RequestLinkEvent) NewLinkEvent(com.auth0.sharelock.event.NewLinkEvent) ClipData(android.content.ClipData) SharelockAPIErrorEvent(com.auth0.sharelock.event.SharelockAPIErrorEvent) Snackbar(com.nispok.snackbar.Snackbar)

Example 3 with RequestLinkEvent

use of com.auth0.sharelock.event.RequestLinkEvent in project sharelock-android by auth0.

the class ComposeActivity method onEvent.

public void onEvent(AllowedViewersModifiedEvent event) {
    secret.replaceAllowedViewers(event.getViewers());
    final LinkFragment fragment = new LinkFragment();
    Bundle arguments = new Bundle();
    arguments.putParcelable(LinkFragment.LINK_FRAGMENT_SECRET_ARGUMENT, secret);
    fragment.setArguments(arguments);
    getSupportFragmentManager().beginTransaction().setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right, android.R.anim.slide_in_left, android.R.anim.slide_out_right).replace(R.id.sharelock_compose_container, fragment).addToBackStack("Link Step").commit();
    bus.post(new RequestLinkEvent(secret));
}
Also used : Bundle(android.os.Bundle) LinkFragment(com.auth0.sharelock.fragment.LinkFragment) RequestLinkEvent(com.auth0.sharelock.event.RequestLinkEvent)

Aggregations

RequestLinkEvent (com.auth0.sharelock.event.RequestLinkEvent)3 AlertDialog (android.app.AlertDialog)2 DialogInterface (android.content.DialogInterface)2 EventBus (de.greenrobot.event.EventBus)2 ClipData (android.content.ClipData)1 ClipboardManager (android.content.ClipboardManager)1 Intent (android.content.Intent)1 SharedPreferences (android.content.SharedPreferences)1 Uri (android.net.Uri)1 Bundle (android.os.Bundle)1 View (android.view.View)1 ImageView (android.widget.ImageView)1 TextView (android.widget.TextView)1 NewLinkEvent (com.auth0.sharelock.event.NewLinkEvent)1 RequestNewSecretEvent (com.auth0.sharelock.event.RequestNewSecretEvent)1 SharelockAPIErrorEvent (com.auth0.sharelock.event.SharelockAPIErrorEvent)1 LinkFragment (com.auth0.sharelock.fragment.LinkFragment)1 ShareEditText (com.auth0.sharelock.widget.ShareEditText)1 Snackbar (com.nispok.snackbar.Snackbar)1