public PcaAsyncTask(Context context, List<String> files, int numComponents) { super(context); mFiles = files; mFileManager = FileManager.getSingleton(context); mNumComponents = numComponents; mShowComponentsMsg = false; }
@Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); fileManager = FileManager.getSingleton(getContext()); DeviceConnectionListener listener = null; Bundle args = getArguments(); if (args != null) { fromDevice = args.getBoolean(ARG_FROM_DEVICE); if (fromDevice) { listener = this; } } usbConn = UsbConnection.getSingleton(getContext(), listener); mainHandler = new Handler(getContext().getMainLooper()); }
private void createView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment view = inflater.inflate(R.layout.fragment_pca_tab, container, false); layoutProgress = view.findViewById(R.id.layoutProgress); layoutProgress.setVisibility(View.GONE); layoutPCAGraphOptions = view.findViewById(R.id.layoutPCAGraphOptions); layoutPCAGraphOptions.setVisibility(View.GONE); listFiles = (ListView) view.findViewById(R.id.listArquivos); txtComponentes = (TextView) view.findViewById(R.id.txtComponentes); txtComponentes.setText("20"); seekComponentes = (SeekBar) view.findViewById(R.id.seekComponentes); seekComponentes.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (progress == 0) { seekBar.setProgress(1); progress = 1; } txtComponentes.setText(String.valueOf(progress)); } @Override public void onStartTrackingTouch(SeekBar seekBar) {} @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO numComponentes = seekBar.getProgress(); } }); seekComponentes.setProgress(20); numComponentes = 20; btnPCA = (Button) view.findViewById(R.id.btnPCA); btnPCA.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // TODO: btnPCA.setEnabled(false); ArrayList<String> files = new ArrayList<>(); SparseBooleanArray checkedPositions = listFiles.getCheckedItemPositions(); for (int i = 0; i < listFiles.getCount(); i++) { if (checkedPositions.get(i)) { String strFile = (String) listFiles.getItemAtPosition(i); if (!TextUtils.isEmpty(strFile)) { files.add(strFile); } else { // TODO: } } } if (files.isEmpty()) { // TODO: show alert, need to select at least one file return; } Bundle args = new Bundle(); args.putStringArrayList(ARG_FILENAMES, files); getLoaderManager().restartLoader(LOADER_PCA, args, PcaTabFragment.this).forceLoad(); } }); radioGroupMatrizes = (RadioGroup) view.findViewById(R.id.radioGroupMatrizes); radioMatrizesL = (RadioButton) view.findViewById(R.id.radioMatrizesL); radioMatrizesL.setChecked(true); spinX = (Spinner) view.findViewById(R.id.spinX); spinY = (Spinner) view.findViewById(R.id.spinY); btnPlotPCA = (Button) view.findViewById(R.id.btnPlotPCA); btnPlotPCA.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { ChartCollection collection = null; switch (radioGroupMatrizes.getCheckedRadioButtonId()) { case R.id.radioMatrizesL: collection = chartCollections.get("L"); break; case R.id.radioMatrizesT: collection = chartCollections.get("T"); break; } if (collection != null) { int x = spinX.getSelectedItemPosition(); int y = spinY.getSelectedItemPosition(); ChartCollection finalCollection = new ChartCollection(String.format("PCA - (%d, %d)", x, y)); Map<Double, Double> data = new HashMap<>(); for (ChartData chartData : collection) { // TODO: Number numX = chartData.getData().get((double) x); data.put(numX.doubleValue(), chartData.getData().get((double) y)); } ChartData chartData = new ChartData("PCA", "PCA", new Date().getTime(), data); finalCollection.addChartData(chartData); listener.onPlotChart(finalCollection); } } }); fileManager = FileManager.getSingleton(getContext()); if (fileManager.askForStoragePermission( getActivity(), REQUEST_FILE_PERMISSION, Manifest.permission.READ_EXTERNAL_STORAGE)) { fillFilesListView(); } mShortAnimationDuration = getResources().getInteger(android.R.integer.config_shortAnimTime); }