Android Open Source - PhotoNote Activity Result Handler






From Project

Back to project page PhotoNote.

License

The source code is released under:

MIT License

If you think the Android project PhotoNote listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package jp.gr.java_conf.neko_daisuki.android.util;
//  w  w  w  .java  2s . c  o  m
import java.util.HashMap;
import java.util.Map;

import android.app.Activity;
import android.content.Intent;

public class ActivityResultHandler {

    public interface ResultHandler {

        public static class Nop implements ResultHandler {

            @Override
            public void onActivityResult(int requestCode, int resultCode,
                                         Intent data) {
            }
        }

        public static final ResultHandler NOP = new Nop();

        public void onActivityResult(int requestCode, int resultCode,
                                     Intent data);
    }

    private class Key {

        private int mRequestCode;
        private int mResultCode;

        public Key(int requestCode, int resultCode) {
            mRequestCode = requestCode;
            mResultCode = resultCode;
        }

        public int getRequestCode() {
            return mRequestCode;
        }

        public int getResultCode() {
            return mResultCode;
        }

        public boolean equals(Object o) {
            Key key;
            try {
                key = (Key)o;
            }
            catch (ClassCastException e) {
                return false;
            }
            int requestCode = key.getRequestCode();
            int resultCode = key.getResultCode();
            return (requestCode == mRequestCode) && (resultCode == mResultCode);
        }

        public int hashCode() {
            int n = (mResultCode << 16) + mRequestCode;
            return Integer.valueOf(n).hashCode();
        }
    }

    private Map<Key, ResultHandler> mHandlers;

    public ActivityResultHandler() {
        mHandlers = new HashMap<Key, ResultHandler>();
    }

    public void put(int requestCode, ResultHandler handler) {
        mHandlers.put(new Key(requestCode, Activity.RESULT_OK), handler);
    }

    public void handle(int requestCode, int resultCode, Intent data) {
        ResultHandler handler = mHandlers.get(new Key(requestCode, resultCode));
        ResultHandler h = handler != null ? handler : ResultHandler.NOP;
        h.onActivityResult(requestCode, resultCode, data);
    }
}




Java Source Code List

jp.gr.java_conf.neko_daisuki.android.util.ActivityResultHandler.java
jp.gr.java_conf.neko_daisuki.android.util.ActivityUtil.java
jp.gr.java_conf.neko_daisuki.android.util.MenuHandler.java
jp.gr.java_conf.neko_daisuki.android.view.MotionEventDispatcher.java
jp.gr.java_conf.neko_daisuki.photonote.Application.java
jp.gr.java_conf.neko_daisuki.photonote.Database.java
jp.gr.java_conf.neko_daisuki.photonote.DeleteGroupFragment.java
jp.gr.java_conf.neko_daisuki.photonote.EditActivity.java
jp.gr.java_conf.neko_daisuki.photonote.FileUtil.java
jp.gr.java_conf.neko_daisuki.photonote.GroupNameFragment.java
jp.gr.java_conf.neko_daisuki.photonote.GroupsActivity.java
jp.gr.java_conf.neko_daisuki.photonote.GroupsFragment.java
jp.gr.java_conf.neko_daisuki.photonote.NotesActivity.java
jp.gr.java_conf.neko_daisuki.photonote.NotesFragment.java
jp.gr.java_conf.neko_daisuki.photonote.RemoveNoteFragment.java
jp.gr.java_conf.neko_daisuki.photonote.widget.BrushView.java
jp.gr.java_conf.neko_daisuki.photonote.widget.PaintView.java
jp.gr.java_conf.neko_daisuki.photonote.widget.PaletteView.java