Ejemplo n.º 1
0
        //JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
        //ORIGINAL LINE: private void resizeToGridAndSave(final int id, final int cols)
        private void ResizeToGridAndSave(int id, int cols)
        {
            //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
            //ORIGINAL LINE: final wei.mark.standout.ui.Window window = getWindow(id);
            Window window = getWindow(id);

            window.Post(() =>
            {
                FlowLayout flow = (FlowLayout)window.FindViewById(Resource.Id.flow);

                FolderModel folder = MFolders.Get(id);

                int count   = folder.Apps.Count;
                int columns = cols;

                if (cols == -1)
                {
                    columns = flow.GetCols();
                }

                if (columns < 2)
                {
                    columns = 2;
                }

                int rows = count / columns;
                if (count % columns > 0)
                {
                    rows++;
                }

                if (rows < 1)
                {
                    rows = 1;
                }

                int width  = flow.Left + (((ViewGroup)flow.Parent).Width - flow.Right) + columns * SquareWidth;
                int height = width;

                if (count > 0)
                {
                    height = flow.Top + (((ViewGroup)flow.Parent).Height - flow.Bottom) + rows * flow.GetChildHeight();
                }

                StandOutLayoutParams @params = window.GetLayoutParams();
                @params.Width  = width;
                @params.Height = height;
                updateViewLayout(id, @params);

                folder.Width  = width;
                folder.Height = height;

                SaveFolder(folder);
            });
        }
Ejemplo n.º 2
0
        //JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
        //ORIGINAL LINE: @Override public void createAndAttachView(final int id, Android.widget.FrameLayout frame)
        public override void CreateAndAttachView(int id, FrameLayout frame)
        {
            LayoutInflater inflater = LayoutInflater.From(this);

            // choose which type of window to show
            if (APP_SELECTOR_ID == id)
            {
                //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
                //ORIGINAL LINE: final Android.Views.View view = inflater.inflate(Resource.layout.app_selector, frame, true);
                View view = inflater.Inflate(Resource.Layout.app_selector, frame, true);
                //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
                //ORIGINAL LINE: final Android.widget.ListView listView = (Android.widget.ListView) view.findViewById(Resource.id.list);
                ListView listView = (ListView)view.FindViewById(Resource.Id.list);
                //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
                //ORIGINAL LINE: final java.util.List<Android.Content.pm.ActivityInfo> apps = new java.util.ArrayList<Android.Content.pm.ActivityInfo>();
                IList <ActivityInfo> apps = new List <ActivityInfo>();

                listView.Clickable = (true);

                //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
                //ORIGINAL LINE: final AppAdapter adapter = new AppAdapter(this, Resource.layout.app_row, apps);
                AppAdapter adapter = new AppAdapter(this, Resource.Layout.app_row, apps);
                listView.Adapter = (adapter);

                listView.OnItemClickListener = (new OnItemClickListenerAnonymousInnerClass(this, id, view));

                (new Thread(() =>
                {
                    Intent mainIntent = new Intent(Intent.ActionMain, null);
                    mainIntent.AddCategory(Intent.CategoryLauncher);
                    List <ResolveInfo> resolveApps = (List <ResolveInfo>)PackageManager.QueryIntentActivities(mainIntent, 0);
                    resolveApps.Sort(new ComparatorAnonymousInnerClass(this));
                    foreach (ResolveInfo resolveApp in resolveApps)
                    {
                        apps.Add(resolveApp.ActivityInfo);
                    }

                    Log.Debug("FloatingFolder", "before");
                    view.Post(() =>
                    {
                        Log.Debug("FloatingFolder", "after");
                        adapter.NotifyDataSetChanged();
                    });
                })).Start();

                View cancel = view.FindViewById(Resource.Id.cancel);
                cancel.SetOnClickListener(new OnClickListenerAnonymousInnerClass(this, id));
            }
            else
            {
                // id is not app selector
                View view = inflater.Inflate(Resource.Layout.folder, frame, true);

                FlowLayout flow = (FlowLayout)view.FindViewById(Resource.Id.flow);

                if (MFolders == null)
                {
                    LoadAllFolders();
                }

                FolderModel folder = MFolders.Get(id);
                if (folder != null)
                {
                    foreach (ActivityInfo app in folder.Apps)
                    {
                        AddAppToFolder(id, app, flow);
                    }
                }
            }
        }