Search in sources :

Example 16 with Fragment

use of androidx.fragment.app.Fragment in project android by owncloud.

the class PreviewImagePagerAdapter method getItem.

public Fragment getItem(int i) {
    OCFile file = mImageFiles.get(i);
    Fragment fragment;
    if (file.isDown()) {
        fragment = PreviewImageFragment.newInstance(file, mAccount, mObsoletePositions.contains(i));
    } else if (mDownloadErrors.contains(i)) {
        fragment = FileDownloadFragment.newInstance(file, mAccount, true);
        ((FileDownloadFragment) fragment).setError(true);
        mDownloadErrors.remove(i);
    } else {
        fragment = FileDownloadFragment.newInstance(file, mAccount, mObsoletePositions.contains(i));
    }
    mObsoletePositions.remove(i);
    return fragment;
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) FileFragment(com.owncloud.android.ui.fragment.FileFragment) Fragment(androidx.fragment.app.Fragment)

Example 17 with Fragment

use of androidx.fragment.app.Fragment in project android by owncloud.

the class ConflictsResolveDialog method dismissDialog.

public void dismissDialog(AppCompatActivity activity) {
    Fragment prev = activity.getSupportFragmentManager().findFragmentByTag(getTag());
    if (prev != null) {
        FragmentTransaction ft = activity.getSupportFragmentManager().beginTransaction();
        ft.remove(prev);
        ft.commit();
    }
}
Also used : FragmentTransaction(androidx.fragment.app.FragmentTransaction) Fragment(androidx.fragment.app.Fragment) DialogFragment(androidx.fragment.app.DialogFragment)

Example 18 with Fragment

use of androidx.fragment.app.Fragment in project Tusky by Vavassor.

the class ViewTagActivity method onCreate.

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view_tag);
    String hashtag = getIntent().getStringExtra(HASHTAG);
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    ActionBar bar = getSupportActionBar();
    if (bar != null) {
        bar.setTitle(String.format(getString(R.string.title_tag), hashtag));
        bar.setDisplayHomeAsUpEnabled(true);
        bar.setDisplayShowHomeEnabled(true);
    }
    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
    Fragment fragment = TimelineFragment.newHashtagInstance(Collections.singletonList(hashtag));
    fragmentTransaction.replace(R.id.fragment_container, fragment);
    fragmentTransaction.commit();
}
Also used : FragmentTransaction(androidx.fragment.app.FragmentTransaction) TimelineFragment(com.keylesspalace.tusky.components.timeline.TimelineFragment) Fragment(androidx.fragment.app.Fragment) ActionBar(androidx.appcompat.app.ActionBar) Toolbar(androidx.appcompat.widget.Toolbar)

Example 19 with Fragment

use of androidx.fragment.app.Fragment in project kdeconnect-android by KDE.

the class PluginSettingsActivity method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    ThemeUtil.setUserPreferredTheme(this);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_plugin_settings);
    setSupportActionBar(findViewById(R.id.toolbar));
    Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    String pluginKey = null;
    if (getIntent().hasExtra(EXTRA_DEVICE_ID)) {
        deviceId = getIntent().getStringExtra(EXTRA_DEVICE_ID);
        if (getIntent().hasExtra(EXTRA_PLUGIN_KEY)) {
            pluginKey = getIntent().getStringExtra(EXTRA_PLUGIN_KEY);
        }
    } else if (deviceId == null) {
        throw new RuntimeException("You must start DeviceSettingActivity using an intent that has a " + EXTRA_DEVICE_ID + " extra");
    }
    Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragmentPlaceHolder);
    if (fragment == null) {
        if (pluginKey != null) {
            Device device = BackgroundService.getInstance().getDevice(deviceId);
            if (device != null) {
                Plugin plugin = device.getPlugin(pluginKey);
                if (plugin != null) {
                    fragment = plugin.getSettingsFragment(this);
                }
            }
        }
        if (fragment == null) {
            fragment = PluginSettingsListFragment.newInstance(deviceId);
        }
        getSupportFragmentManager().beginTransaction().add(R.id.fragmentPlaceHolder, fragment).commit();
    }
}
Also used : Device(org.kde.kdeconnect.Device) Fragment(androidx.fragment.app.Fragment) Plugin(org.kde.kdeconnect.Plugins.Plugin)

Example 20 with Fragment

use of androidx.fragment.app.Fragment in project kdeconnect-android by KDE.

the class MainActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Workaround: If the activity starts in landscape orientation and we call this before super.onCreate, the PluginItem entries appears with white on white background
    ThemeUtil.setUserPreferredTheme(this);
    final ActivityMainBinding binding = ActivityMainBinding.inflate(getLayoutInflater());
    setContentView(binding.getRoot());
    mNavigationView = binding.navigationDrawer;
    mDrawerLayout = binding.drawerLayout;
    View mDrawerHeader = mNavigationView.getHeaderView(0);
    mNavViewDeviceName = mDrawerHeader.findViewById(R.id.device_name);
    ImageView mNavViewDeviceType = mDrawerHeader.findViewById(R.id.device_type);
    setSupportActionBar(binding.toolbarLayout.toolbar);
    ActionBar actionBar = getSupportActionBar();
    ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity */
    mDrawerLayout, /* DrawerLayout object */
    R.string.open, /* "open drawer" description */
    R.string.close);
    mDrawerLayout.addDrawerListener(mDrawerToggle);
    mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
    }
    mDrawerToggle.setDrawerIndicatorEnabled(true);
    mDrawerToggle.syncState();
    preferences = getSharedPreferences("stored_menu_selection", Context.MODE_PRIVATE);
    // Note: The preference changed listener should be registered before getting the name, because getting
    // it can trigger a background fetch from the internet that will eventually update the preference
    PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);
    String deviceName = DeviceHelper.getDeviceName(this);
    mNavViewDeviceType.setImageDrawable(DeviceHelper.getDeviceType(this).getIcon(this));
    mNavViewDeviceName.setText(deviceName);
    mNavigationView.setNavigationItemSelectedListener(menuItem -> {
        mCurrentMenuEntry = menuItem.getItemId();
        switch(mCurrentMenuEntry) {
            case MENU_ENTRY_ADD_DEVICE:
                mCurrentDevice = null;
                preferences.edit().putString(STATE_SELECTED_DEVICE, null).apply();
                setContentFragment(new PairingFragment());
                break;
            case MENU_ENTRY_SETTINGS:
                mCurrentDevice = null;
                preferences.edit().putString(STATE_SELECTED_DEVICE, null).apply();
                setContentFragment(new SettingsFragment());
                break;
            case MENU_ENTRY_ABOUT:
                mCurrentDevice = null;
                preferences.edit().putString(STATE_SELECTED_DEVICE, null).apply();
                setContentFragment(AboutFragment.newInstance(Objects.requireNonNull(ApplicationAboutDataKt.getApplicationAboutData(this))));
                break;
            default:
                String deviceId = mMapMenuToDeviceId.get(menuItem);
                onDeviceSelected(deviceId);
                break;
        }
        mDrawerLayout.closeDrawer(mNavigationView);
        return true;
    });
    // Decide which menu entry should be selected at start
    String savedDevice;
    int savedMenuEntry;
    if (getIntent().hasExtra("forceOverview")) {
        Log.i("MainActivity", "Requested to start main overview");
        savedDevice = null;
        savedMenuEntry = MENU_ENTRY_ADD_DEVICE;
    } else if (getIntent().hasExtra(EXTRA_DEVICE_ID)) {
        Log.i("MainActivity", "Loading selected device from parameter");
        savedDevice = getIntent().getStringExtra(EXTRA_DEVICE_ID);
        savedMenuEntry = MENU_ENTRY_DEVICE_UNKNOWN;
        // If pairStatus is not empty, then the user has accepted/reject the pairing from the notification
        String pairStatus = getIntent().getStringExtra(PAIR_REQUEST_STATUS);
        if (pairStatus != null) {
            Log.i("MainActivity", "pair status is " + pairStatus);
            savedDevice = onPairResultFromNotification(savedDevice, pairStatus);
            if (savedDevice == null) {
                savedMenuEntry = MENU_ENTRY_ADD_DEVICE;
            }
        }
    } else if (savedInstanceState != null) {
        Log.i("MainActivity", "Loading selected device from saved activity state");
        savedDevice = savedInstanceState.getString(STATE_SELECTED_DEVICE);
        savedMenuEntry = savedInstanceState.getInt(STATE_SELECTED_MENU_ENTRY, MENU_ENTRY_ADD_DEVICE);
    } else {
        Log.i("MainActivity", "Loading selected device from persistent storage");
        savedDevice = preferences.getString(STATE_SELECTED_DEVICE, null);
        savedMenuEntry = (savedDevice != null) ? MENU_ENTRY_DEVICE_UNKNOWN : MENU_ENTRY_ADD_DEVICE;
    }
    mCurrentMenuEntry = savedMenuEntry;
    mCurrentDevice = savedDevice;
    mNavigationView.setCheckedItem(savedMenuEntry);
    // FragmentManager will restore whatever fragment was there
    if (savedInstanceState != null) {
        Fragment frag = getSupportFragmentManager().findFragmentById(R.id.container);
        if (!(frag instanceof DeviceFragment) || ((DeviceFragment) frag).getDeviceId().equals(savedDevice)) {
            return;
        }
    }
    // Activate the chosen fragment and select the entry in the menu
    if (savedMenuEntry >= MENU_ENTRY_DEVICE_FIRST_ID && savedDevice != null) {
        onDeviceSelected(savedDevice);
    } else {
        if (mCurrentMenuEntry == MENU_ENTRY_SETTINGS) {
            setContentFragment(new SettingsFragment());
        } else if (mCurrentMenuEntry == MENU_ENTRY_ABOUT) {
            setContentFragment(AboutFragment.newInstance(Objects.requireNonNull(ApplicationAboutDataKt.getApplicationAboutData(this))));
        } else {
            setContentFragment(new PairingFragment());
        }
    }
}
Also used : ShareSettingsFragment(org.kde.kdeconnect.Plugins.SharePlugin.ShareSettingsFragment) ActionBarDrawerToggle(androidx.appcompat.app.ActionBarDrawerToggle) ImageView(android.widget.ImageView) ActivityMainBinding(org.kde.kdeconnect_tp.databinding.ActivityMainBinding) NavigationView(com.google.android.material.navigation.NavigationView) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) Fragment(androidx.fragment.app.Fragment) ShareSettingsFragment(org.kde.kdeconnect.Plugins.SharePlugin.ShareSettingsFragment) AboutFragment(org.kde.kdeconnect.UserInterface.About.AboutFragment) ActionBar(androidx.appcompat.app.ActionBar)

Aggregations

Fragment (androidx.fragment.app.Fragment)262 FragmentTransaction (androidx.fragment.app.FragmentTransaction)57 Bundle (android.os.Bundle)49 FragmentManager (androidx.fragment.app.FragmentManager)42 DialogFragment (androidx.fragment.app.DialogFragment)24 FileFragment (com.owncloud.android.ui.fragment.FileFragment)23 Intent (android.content.Intent)22 View (android.view.View)22 FileDetailFragment (com.owncloud.android.ui.fragment.FileDetailFragment)20 OCFileListFragment (com.owncloud.android.ui.fragment.OCFileListFragment)20 SortingOrderDialogFragment (com.owncloud.android.ui.dialog.SortingOrderDialogFragment)19 GalleryFragment (com.owncloud.android.ui.fragment.GalleryFragment)18 TaskRetainerFragment (com.owncloud.android.ui.fragment.TaskRetainerFragment)18 UnifiedSearchFragment (com.owncloud.android.ui.fragment.UnifiedSearchFragment)18 PreviewImageFragment (com.owncloud.android.ui.preview.PreviewImageFragment)18 PreviewMediaFragment (com.owncloud.android.ui.preview.PreviewMediaFragment)18 PreviewTextFileFragment (com.owncloud.android.ui.preview.PreviewTextFileFragment)18 PreviewTextFragment (com.owncloud.android.ui.preview.PreviewTextFragment)18 PreviewTextStringFragment (com.owncloud.android.ui.preview.PreviewTextStringFragment)18 PreviewPdfFragment (com.owncloud.android.ui.preview.pdf.PreviewPdfFragment)18