protected long[] getOrderedPages() {
        final ArrayList<Long> pages = new ArrayList<>();
        pages.add(Page.VARIABLES.id);
        pages.add(Page.WAYPOINTS.id);
        pages.add(Page.DETAILS.id);
        pages.add(Page.DESCRIPTION.id);
        // enforce showing the empty log book if new entries can be added
        if (cache != null) {
            if (cache.supportsLogging() || !cache.getLogs().isEmpty()) {
                pages.add(Page.LOGS.id);
            }
            if (CollectionUtils.isNotEmpty(cache.getFriendsLogs()) && Settings.isFriendLogsWanted()) {
                pages.add(Page.LOGSFRIENDS.id);
            }
            if (CollectionUtils.isNotEmpty(cache.getInventory()) || CollectionUtils.isNotEmpty(genericTrackables)) {
                pages.add(Page.INVENTORY.id);
            }
            pages.add(Page.IMAGEGALLERY.id);
        }

        final long[] result = new long[pages.size()];
        for (int i = 0; i < pages.size(); i++) {
            result[i] = pages.get(i);
        }
        return result;
    }
A dialog to allow the user to select reseting coordinates local/remote/both.
main/src/main/java/cgeo/geocaching/CacheDetailActivity.java