Esempio n. 1
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);
                    }
                }
            }
        }
Esempio n. 2
0
 public ViewHolder(AppAdapter outerInstance)
 {
     this.OuterInstance = outerInstance;
 }