// Called for each group that is enumerated
		protected void GroupsEnumerator (ALAssetsGroup group, ref bool stop)
		{
		    // when the enumeration is completed, this method is invoked with group set to null
			if (group != null) {
				Console.WriteLine ("Group found: " + group.Type.ToString ());
				
				// don't stop, baby
				stop = false;
		
				// photos and videos. could also pass AllVideos, AllVideos, etc.
				group.SetAssetsFilter (ALAssetsFilter.AllAssets);
		
				if (group.Name != null) 
					Console.WriteLine("Group Name: " + group.Name);
				
				// add the group to the assets dictionary
				groups.Add(group);
				assetGroups.Add(group, new List<ALAsset> ());
				currentGroup = group;
				
				// enumerate each asset within the group
				group.Enumerate(AssetEnumerator);
		    } else {
				Console.WriteLine ("Group enumeration completed.");
				
				assetGroupTableSource = new AssetGroupTableSource (groups);
				TableView.Source = assetGroupTableSource;
			
				assetGroupTableSource.GroupSelected += (object sender, AssetGroupTableSource.GroupSelectedEventArgs e) => {
					AssetEnumerationScreen assetScreen = new AssetEnumerationScreen (e.Group.Name, assetGroups[e.Group]);
					NavigationController.PushViewController (assetScreen, true);
				};
			}
		}
            void GroupsEnumerator(ALAssetsGroup agroup, ref bool stop)
            {
                if (agroup == null)
                {
                    return;
                }

                //We show photos only. Let's get only them
                agroup.SetAssetsFilter(ALAssetsFilter.AllPhotos);

                //do not add empty album
                if (agroup.Count == 0)
                {
                    return;
                }

                //ALAssetsGroupType.All might have duplicated albums. let's skip the album if we already have it
                if (assetGroups.Any(g => g.PersistentID == agroup.PersistentID))
                {
                    return;
                }

                assetGroups.Add(agroup);

                dispatcher.BeginInvokeOnMainThread(ReloadTableView);
            }
 public ELCAssetTablePicker(ALAssetsGroup assetGroup) : base(new UICollectionViewFlowLayout {
     ItemSize                = new CGSize(75, 75),
     MinimumLineSpacing      = 4,
     MinimumInteritemSpacing = 4,
     SectionInset            = new UIEdgeInsets(0, 4, 0, 4),
     ScrollDirection         = UICollectionViewScrollDirection.Vertical
 })
 {
     this.assetGroup = assetGroup;
 }
 private void GroupEnumerator(ALAssetsGroup group, ref bool shouldStop)
 {
     if (group == null)
     {
         shouldStop = true;
         return;
     }
     if (!shouldStop)
     {
         group.Enumerate(AssetEnumerator);
         shouldStop = false;
     }
     taskCompletionSource.TrySetResult(pictures);
 }
Пример #5
0
        /// <summary>
        /// Groups the enumerator.
        /// </summary>
        /// <param name="assetGroup">Asset group.</param>
        /// <param name="shouldStop">Should stop.</param>
        private void GroupEnumerator(ALAssetsGroup assetGroup, ref bool shouldStop)
        {
            if (assetGroup == null)
            {
                shouldStop = true;
                notifyAssetsLoaded();

                return;
            }

            if (!shouldStop)
            {
                assetGroup.Enumerate(AssetEnumerator);
                shouldStop = false;
            }
        }
Пример #6
0
 private void GroupEnumerator(ALAssetsGroup group, ref bool shouldStop)
 {
     if (group != null && group.Name == App.APP_NAME)
     {
         _album     = group;
         shouldStop = true;
         return;
     }
     if (group == null)
     {
         shouldStop = true;
         return;
     }
     if (!shouldStop)
     {
         shouldStop = false;
     }
 }
Пример #7
0
            void GroupsEnumerator(ALAssetsGroup agroup, ref bool stop)
            {
                if (agroup == null)
                {
                    return;
                }

                // added fix for camera albums order
                if (agroup.Name.ToString().ToLower() == "camera roll" && agroup.Type == ALAssetsGroupType.SavedPhotos)
                {
                    AssetGroups.Insert(0, agroup);
                }
                else
                {
                    AssetGroups.Add(agroup);
                }

                _Dispatcher.BeginInvokeOnMainThread(ReloadTableView);
            }
Пример #8
0
        // Called for each group that is enumerated
        protected void GroupsEnumerator(ALAssetsGroup group, ref bool stop)
        {
            // when the enumeration is completed, this method is invoked with group set to null
            if (group != null)
            {
                Console.WriteLine("Group found: " + group.Type.ToString());

                // don't stop, baby
                stop = false;

                // photos and videos. could also pass AllVideos, AllVideos, etc.
                group.SetAssetsFilter(ALAssetsFilter.AllAssets);

                if (group.Name != null)
                {
                    Console.WriteLine("Group Name: " + group.Name);
                }

                // add the group to the assets dictionary
                groups.Add(group);
                assetGroups.Add(group, new List <ALAsset> ());
                currentGroup = group;

                // enumerate each asset within the group
                group.Enumerate(AssetEnumerator);
            }
            else
            {
                Console.WriteLine("Group enumeration completed.");

                assetGroupTableSource = new AssetGroupTableSource(groups);
                TableView.Source      = assetGroupTableSource;

                assetGroupTableSource.GroupSelected += (object sender, AssetGroupTableSource.GroupSelectedEventArgs e) => {
                    AssetEnumerationScreen assetScreen = new AssetEnumerationScreen(e.Group.Name, assetGroups[e.Group]);
                    NavigationController.PushViewController(assetScreen, true);
                };

                TableView.ReloadData();
            }
        }
Пример #9
0
 void HandleALAssetsLibraryGroupsEnumerationResults(ALAssetsGroup group, ref bool stop)
 {
     FirePhotoPermissionCompletionHandler();
     stop = true;
 }
Пример #10
0
 public ELCAssetTablePicker(ALAssetsGroup assetGroup)
 {
     AssetGroup = assetGroup;
 }
Пример #11
0
 public ELCAssetTablePicker(ALAssetsGroup assetGroup) => this.assetGroup = assetGroup;
 public ELCAssetTablePicker(ALAssetsGroup assetGroup)
 {
     AssetGroup = assetGroup;
 }
            void GroupsEnumerator(ALAssetsGroup agroup, ref bool stop)
            {
                if (agroup == null) {
                    return;
                }

                // added fix for camera albums order
                if (agroup.Name.ToString ().ToLower () == "camera roll" && agroup.Type == ALAssetsGroupType.SavedPhotos) {
                    AssetGroups.Insert (0, agroup);
                } else {
                    AssetGroups.Add (agroup);
                }

                _Dispatcher.BeginInvokeOnMainThread (ReloadTableView);
            }
Пример #14
0
 public GroupSelectedEventArgs(ALAssetsGroup group) : base()
 {
     Group = group;
 }
 void HandleALAssetsLibraryGroupsEnumerationResults(ALAssetsGroup group, ref bool stop)
 {
     FirePhotoPermissionCompletionHandler ();
     stop = true;
 }
				public GroupSelectedEventArgs(ALAssetsGroup group) : base()
				{ Group = group; }
 public ELCAssetTablePicker(ALAssetsGroup assetGroup,ALAssetsFilter filter)
 {
     AssetGroup = assetGroup;
     Filter= filter;
 }