Giter VIP home page Giter VIP logo

zgallery's Introduction

zgallery's People

Contributors

hendalqett avatar lordmegamax avatar mzelzoghbi avatar nikiairdates avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zgallery's Issues

onclick on the populated images in ZGrid crashing app activity

Image is showing finely in the grid but whenever i click any of the populated images in the grid, the activity crashes showing error

java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String
java.lang.CharSequence.toString()' on a null object reference
at com.mzelzoghbi.zgallery.activities.ZGridActivity.onClick(ZGridActivity.java:56)
at com.mzelzoghbi.zgallery.adapters.GridImagesAdapter$1.onClick(GridImagesAdapter.java:46)
at android.view.View.performClick(View.java:5721)
at android.view.View$PerformClick.run(View.java:22620)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7409)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

I have used your code to show local images with ZGrid, inside a onclick listener

How to add support for loading local images with URIs from glide

Hi,

I was looking to load an arraylist of uris with glide but found that in the source file HorizontalListAdapters

Glide.with(this.activity).load((String)this.images.get(position)).into(holder.image);

The items seem to be stringified here, which is why my Uris are not loading.

How can we add support for this

back problem

when pressing back from gallery it shows white blank screen i have tried Clear top but nothing works.. Please provide the solution asap..

NullPointerException

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.Toolbar.setVisibility(int)' on a null object reference

On Click crash the app

E/UncaughtException: java.lang.NoSuchMethodError: No virtual method load(Ljava/lang/String;)Lcom/bumptech/glide/DrawableTypeRequest; in class Lcom/bumptech/glide/RequestManager; or its super classes (declaration of 'com.bumptech.glide.RequestManager' appears in /data/app/~~vInwjvUpOScgFfsWB-7qEA==/example.com.dearst--mqEUkV1NKTXqxq3GwW00Q==/base.apk)
Please give the solution @mzelzoghbi @HendAlQett

When opening an image, activity crashes

When click on image activity crashes
02-12 17:04:48.202 7382-7382/mn.cdr.du.farnext E/AndroidRuntime: FATAL EXCEPTION: main Process: mn.cdr.du.farnext, PID: 7382 java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference at com.mzelzoghbi.zgallery.activities.ZGridActivity.onClick(ZGridActivity.java:56) at com.mzelzoghbi.zgallery.adapters.GridImagesAdapter$1.onClick(GridImagesAdapter.java:46) at android.view.View.performClick(View.java:6294) at android.view.View$PerformClick.run(View.java:24770) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

I have used this code https://github.com/mzelzoghbi/ZGallery#grid-list-builder inside a onclick listener

Toolbar trouble

the method setTitle("toolbar title) is not working for me. Also is it porrible to hide toolbar in the fullscreen gallery builder?

Adding this Library to my project

I have used this library for my project as it feeds all my requirements. Shall I mention this library anywhere apart from the code? Shall I face any legal issues if not so? If yes, how shall I mention it?

onBindViewHolder

This is the part of GridImagesAdapter downloaded when I implemented Gallery, Which is different when I view it on github. Please Help

public void onBindViewHolder(ImageViewHolder holder, final int position) {
Glide.with(this.mActivity).load((String)this.imageURLs.get(position)).placeholder(this.imgPlaceHolderResId != -1 ? this.imgPlaceHolderResId : drawable.placeholder).into(holder.image);
holder.itemView.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
GridImagesAdapter.this.clickListener.onClick(position);
}
});
}

Clear Cache

How to Clear cached images ?
Need call
Glide.get(this.activity).clearDiskCache();
and
Glide.get(this.activity).clearMemory();
in

public Object instantiateItem(ViewGroup container, int position) {
    View itemView = this.mLayoutInflater.inflate(layout.pager_item, container, false);
    final ImageView imageView = (ImageView)itemView.findViewById(id.iv);
    Glide.with(this.activity).load((String)this.images.get(position)).listener(new RequestListener() {
        public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
            return false;
        }

        public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
            ViewPagerAdapter.this.mPhotoViewAttacher = new PhotoViewAttacher(imageView);
            ViewPagerAdapter.this.mPhotoViewAttacher.setOnPhotoTapListener(new OnPhotoTapListener() {
                public void onPhotoTap(View view, float x, float y) {
                    if(ViewPagerAdapter.this.isShowing) {
                        ViewPagerAdapter.this.isShowing = false;
                        ViewPagerAdapter.this.toolbar.animate().translationY((float)(-ViewPagerAdapter.this.toolbar.getBottom())).setInterpolator(new AccelerateInterpolator()).start();
                        ViewPagerAdapter.this.imagesHorizontalList.animate().translationY((float)ViewPagerAdapter.this.imagesHorizontalList.getBottom()).setInterpolator(new AccelerateInterpolator()).start();
                    } else {
                        ViewPagerAdapter.this.isShowing = true;
                        ViewPagerAdapter.this.toolbar.animate().translationY(0.0F).setInterpolator(new DecelerateInterpolator()).start();
                        ViewPagerAdapter.this.imagesHorizontalList.animate().translationY(0.0F).setInterpolator(new DecelerateInterpolator()).start();
                    }

                }

                public void onOutsidePhotoTap() {
                }
            });
            return false;
        }
    }).into(imageView);
    container.addView(itemView);
    return itemView;
}

or add flag for don't use cache in Glide.with().load().diskCacheStrategy(DiskCacheStrategy.NONE).skipMemoryCache(true).into()

no such method load in Glide

FATAL EXCEPTION: main
Process: com.yash.yps.kvls, PID: 18673
java.lang.NoSuchMethodError: No virtual method load(Ljava/lang/String;)Lcom/bumptech/glide/DrawableTypeRequest; in class Lcom/bumptech/glide/RequestManager; or its super classes (declaration of 'com.bumptech.glide.RequestManager' appears in /data/app/com.yash.yps.kvls-1/base.apk:classes2.dex)
at com.mzelzoghbi.zgallery.adapters.GridImagesAdapter.onBindViewHolder(GridImagesAdapter.java:39)
at com.mzelzoghbi.zgallery.adapters.GridImagesAdapter.onBindViewHolder(GridImagesAdapter.java:19)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6482)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6515)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5458)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5724)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5563)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5559)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2229)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1516)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:608)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3693)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3410)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3962)
at android.view.View.layout(View.java:16653)
at android.view.ViewGroup.layout(ViewGroup.java:5438)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
at android.view.View.layout(View.java:16653)
at android.view.ViewGroup.layout(ViewGroup.java:5438)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16653)
at android.view.ViewGroup.layout(ViewGroup.java:5438)
at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:443)
at android.view.View.layout(View.java:16653)
at android.view.ViewGroup.layout(ViewGroup.java:5438)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16653)
at android.view.ViewGroup.layout(ViewGroup.java:5438)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
at android.view.View.layout(View.java:16653)
at android.view.ViewGroup.layout(ViewGroup.java:5438)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2680)
at android.view.View.layout(View.java:16653)
at android.view.ViewGroup.layout(ViewGroup.java:5438)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2198)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1958)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1134)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6045)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:860)
at android.view.Choreographer.doCallbacks(Choreographer.java:672)
at android.view.Choreographer.doFrame(Choreographer.java:608)
at android.view.Choreographer$Fr

Sweep: Run on recent android versions

Checklist
  • app/build.gradle

Update the Android Gradle plugin version to the latest stable version. Update the compileSdkVersion and targetSdkVersion to 30 or higher. Update the versions of all dependencies to their latest stable versions.

  • zgallery/build.gradle

Update the Android Gradle plugin version to the latest stable version. Update the compileSdkVersion and targetSdkVersion to 30 or higher. Update the versions of all dependencies to their latest stable versions.

Problem with ZGallery on Android 9

Hello,

I'm using the ZGallery library on android 4.4.2 and I haven't had any problems. But when I installed the app on android 9 the images were not loaded.

The same application works on Android 4.4.2 but not 9.

Is there any solution for this?

Thanks!

image title

it would be nice if there is an option to show image title in gallery...

Image no Open en ZGrid

Hello, I have the following problem when I open the ZGrid the application opens correctly and displays the images but when I select it it shows the following message

java.lang.NullPointerException:

Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference
at com.mzelzoghbi.zgallery.activities.ZGridActivity.onClick(ZGridActivity.java:56)
at com.mzelzoghbi.zgallery.adapters.GridImagesAdapter$1.onClick(GridImagesAdapter.java:46)
at android.view.View.performClick(View.java:5207)
at android.view.View$PerformClick.run(View.java:21177)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5441)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)

admob support

admob support every certain number of images scrolled.

Glide 4.0 Support

Hi i would like to ask you do you think about adding glide support? And if it is possible to make a form if you don't have time and update that to the library!

Error with Glide 4.7.1

com.mzelzoghbi.zgallery.adapters.HorizontalListAdapters.onBindViewHolder (HorizontalListAdapters.java:40)

  | com.mzelzoghbi.zgallery.adapters.HorizontalListAdapters.onBindViewHolder (HorizontalListAdapters.java:21)

com.mzelzoghbi.zgallery.adapters.HorizontalListAdapters.onBindViewHolder (HorizontalListAdapters.java:40)

  | com.mzelzoghbi.zgallery.adapters.HorizontalListAdapters.onBindViewHolder (HorizontalListAdapters.java:21)
  | android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder (RecyclerView.java:6673)
  | android.support.v7.widget.RecyclerView$Adapter.bindViewHolder (RecyclerView.java:6714)
  | android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline (RecyclerView.java:5647)
  | android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline (RecyclerView.java:5913)
  | android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5752)
  | android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5748)
  | android.support.v7.widget.LinearLayoutManager$LayoutState.next (LinearLayoutManager.java:2232)
  | android.support.v7.widget.LinearLayoutManager.layoutChunk (LinearLayoutManager.java:1559)
  | android.support.v7.widget.LinearLayoutManager.fill (LinearLayoutManager.java:1519)
  | android.support.v7.widget.LinearLayoutManager.onLayoutChildren (LinearLayoutManager.java:614)
  | android.support.v7.widget.RecyclerView.dispatchLayoutStep2 (RecyclerView.java:3812)
  | android.support.v7.widget.RecyclerView.onMeasure (RecyclerView.java:3225)
  | android.view.View.measure (View.java:19826)
  | android.widget.RelativeLayout.measureChildHorizontal (RelativeLayout.java:715)
  | android.widget.RelativeLayout.onMeasure (RelativeLayout.java:461)
  | android.view.View.measure (View.java:19826)
  | android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6162)
  | android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
  | android.support.v7.widget.ContentFrameLayout.onMeasure (ContentFrameLayout.java:141)
  | android.view.View.measure (View.java:19826)
  | android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6162)
  | android.support.v7.widget.ActionBarOverlayLayout.onMeasure (ActionBarOverlayLayout.java:400)
  | android.view.View.measure (View.java:19826)
  | android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6162)
  | android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
  | android.view.View.measure (View.java:19826)
  | android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6162)
  | android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1464)
  | android.widget.LinearLayout.measureVertical (LinearLayout.java:758)
  | android.widget.LinearLayout.onMeasure (LinearLayout.java:640)
  | android.view.View.measure (View.java:19826)
  | android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6162)
  | android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
  | com.android.internal.policy.DecorView.onMeasure (DecorView.java:688)
  | android.view.View.measure (View.java:19826)
  | android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:2335)
  | android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:1410)
  | android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1660)
  | android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1286)
  | android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6536)
  | android.view.Choreographer$CallbackRecord.run (Choreographer.java:871)
  | android.view.Choreographer.doCallbacks (Choreographer.java:683)
  | android.view.Choreographer.doFrame (Choreographer.java:619)
  | android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:857)
  | android.os.Handler.handleCallback (Handler.java:751)
  | android.os.Handler.dispatchMessage (Handler.java:95)
  | android.os.Looper.loop (Looper.java:154)
  | android.app.ActivityThread.main (ActivityThread.java:6247)
  | java.lang.reflect.Method.invoke (Method.java)
  | com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:872)
  | com.android.internal.os.ZygoteInit.main (ZygoteInit.java:762)

When i tried to show the gallery the app crash, help plz i have it on production i need solve it ASAP

Getting Exception 'NoClassDefFoundError'

ZGridActivity works fine, but when I invoke ZGalleryActivity, I'm getting 'NoClassDefFoundError'.

NOTE: One of my 3rd party libraries implements com.gihub.chrisbanes.PhotoView as this library

Stacktrace:

FATAL EXCEPTION: main
Process: com.tayqa.app, PID: 1202
java.lang.NoClassDefFoundError: Failed resolution of: Luk/co/senab/photoview/PhotoViewAttacher;
at com.mzelzoghbi.zgallery.adapters.ViewPagerAdapter$1.onResourceReady(ViewPagerAdapter.java:70)
at com.mzelzoghbi.zgallery.adapters.ViewPagerAdapter$1.onResourceReady(ViewPagerAdapter.java:62)
at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:522)
at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:507)
at com.bumptech.glide.load.engine.EngineJob.handleResultOnMainThread(EngineJob.java:158)
at com.bumptech.glide.load.engine.EngineJob.access$100(EngineJob.java:22)
at com.bumptech.glide.load.engine.EngineJob$MainThreadCallback.handleMessage(EngineJob.java:202)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5728)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
Caused by: java.lang.ClassNotFoundException: Didn't find class "uk.co.senab.photoview.PhotoViewAttacher" on path: DexPathList[[zip file "/data/app/com.tayqa.app-1/base.apk"],nativeLibraryDirectories=[/data/app/com.tayqa.app-1/lib/arm, /data/app/com.tayqa.app-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at com.mzelzoghbi.zgallery.adapters.ViewPagerAdapter$1.onResourceReady(ViewPagerAdapter.java:70) 
at com.mzelzoghbi.zgallery.adapters.ViewPagerAdapter$1.onResourceReady(ViewPagerAdapter.java:62) 
at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:522) 
at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:507) 
at com.bumptech.glide.load.engine.EngineJob.handleResultOnMainThread(EngineJob.java:158) 
at com.bumptech.glide.load.engine.EngineJob.access$100(EngineJob.java:22) 
at com.bumptech.glide.load.engine.EngineJob$MainThreadCallback.handleMessage(EngineJob.java:202)at android.os.Handler.dispatchMessage(Handler.java:107) 
at android.os.Looper.loop(Looper.java:207) 
at android.app.ActivityThread.main(ActivityThread.java:5728) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) 
Suppressed: java.lang.ClassNotFoundException: uk.co.senab.photoview.PhotoViewAttacher
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                                                                 		... 14 more
 Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

Possible to load locally stored image?

Is it possible to load local images with zgallery? Passing in file paths does not seem to work (such as: file:///storage/emulated/0/foo.jpg), though I know glide supports loading local files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.