Example usage for android.net Uri decode

List of usage examples for android.net Uri decode

Introduction

In this page you can find the example usage for android.net Uri decode.

Prototype

public static String decode(String s) 

Source Link

Document

Decodes '%'-escaped octets in the given string using the UTF-8 scheme.

Usage

From source file:com.lgallardo.qbittorrentclient.RSSFeedParser.java

public RSSFeed getRSSFeed(String channelTitle, String channelUrl, String filter) {

    // Decode url link
    try {/*from  w ww.ja v a 2  s . c  om*/
        channelUrl = URLDecoder.decode(channelUrl, "UTF-8");
    } catch (UnsupportedEncodingException e) {
        Log.e("Debug", "RSSFeedParser - decoding error: " + e.toString());
    }

    // Parse url
    Uri uri = uri = Uri.parse(channelUrl);
    ;
    int event;
    String text = null;
    String torrent = null;
    boolean header = true;

    // TODO delete itemCount, as it's not really used
    this.itemCount = 0;

    HttpResponse httpResponse;
    DefaultHttpClient httpclient;

    XmlPullParserFactory xmlFactoryObject;
    XmlPullParser xmlParser = null;

    HttpParams httpParameters = new BasicHttpParams();

    // Set the timeout in milliseconds until a connection is established.
    // The default value is zero, that means the timeout is not used.
    int timeoutConnection = connection_timeout * 1000;

    // Set the default socket timeout (SO_TIMEOUT)
    // in milliseconds which is the timeout for waiting for data.
    int timeoutSocket = data_timeout * 1000;

    // Set http parameters
    HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
    HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
    HttpProtocolParams.setUserAgent(httpParameters, "qBittorrent for Android");
    HttpProtocolParams.setVersion(httpParameters, HttpVersion.HTTP_1_1);
    HttpProtocolParams.setContentCharset(httpParameters, HTTP.UTF_8);

    RSSFeed rssFeed = new RSSFeed();
    rssFeed.setChannelTitle(channelTitle);
    rssFeed.setChannelLink(channelUrl);

    httpclient = null;

    try {

        // Making HTTP request
        HttpHost targetHost = new HttpHost(uri.getAuthority());

        // httpclient = new DefaultHttpClient(httpParameters);
        // httpclient = new DefaultHttpClient();
        httpclient = getNewHttpClient();

        httpclient.setParams(httpParameters);

        //            AuthScope authScope = new AuthScope(targetHost.getHostName(), targetHost.getPort());
        //            UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(this.username, this.password);
        //
        //            httpclient.getCredentialsProvider().setCredentials(authScope, credentials);

        // set http parameters

        HttpGet httpget = new HttpGet(channelUrl);

        httpResponse = httpclient.execute(targetHost, httpget);

        StatusLine statusLine = httpResponse.getStatusLine();

        int mStatusCode = statusLine.getStatusCode();

        if (mStatusCode != 200) {
            httpclient.getConnectionManager().shutdown();
            throw new JSONParserStatusCodeException(mStatusCode);
        }

        HttpEntity httpEntity = httpResponse.getEntity();
        is = httpEntity.getContent();

        xmlFactoryObject = XmlPullParserFactory.newInstance();
        xmlParser = xmlFactoryObject.newPullParser();

        xmlParser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
        xmlParser.setInput(is, null);

        event = xmlParser.getEventType();

        // Get Channel info
        String name;
        RSSFeedItem item = null;
        ArrayList<RSSFeedItem> items = new ArrayList<RSSFeedItem>();

        // Get items
        while (event != XmlPullParser.END_DOCUMENT) {

            name = xmlParser.getName();

            switch (event) {
            case XmlPullParser.START_TAG:

                if (name != null && name.equals("item")) {
                    header = false;
                    item = new RSSFeedItem();
                    itemCount = itemCount + 1;
                }

                try {
                    for (int i = 0; i < xmlParser.getAttributeCount(); i++) {

                        if (xmlParser.getAttributeName(i).equals("url")) {
                            torrent = xmlParser.getAttributeValue(i);

                            if (torrent != null) {
                                torrent = Uri.decode(URLEncoder.encode(torrent, "UTF-8"));
                            }
                            break;
                        }
                    }
                } catch (Exception e) {

                }

                break;

            case XmlPullParser.TEXT:
                text = xmlParser.getText();
                break;

            case XmlPullParser.END_TAG:

                if (name.equals("title")) {
                    if (!header) {
                        item.setTitle(text);
                        //                                Log.d("Debug", "PARSER - Title: " + text);
                    }
                } else if (name.equals("description")) {
                    if (header) {
                        //                                Log.d("Debug", "Channel Description: " + text);
                    } else {
                        item.setDescription(text);
                        //                                Log.d("Debug", "Description: " + text);
                    }
                } else if (name.equals("link")) {
                    if (!header) {
                        item.setLink(text);
                        //                                Log.d("Debug", "Link: " + text);
                    }

                } else if (name.equals("pubDate")) {

                    // Set item pubDate
                    if (item != null) {
                        item.setPubDate(text);
                    }

                } else if (name.equals("enclosure")) {
                    item.setTorrentUrl(torrent);
                    //                            Log.d("Debug", "Enclosure: " + torrent);
                } else if (name.equals("item") && !header) {

                    if (items != null & item != null) {

                        // Fix torrent url for no-standard rss feeds
                        if (torrent == null) {

                            String link = item.getLink();

                            if (link != null) {
                                link = Uri.decode(URLEncoder.encode(link, "UTF-8"));
                            }

                            item.setTorrentUrl(link);
                        }

                        items.add(item);
                    }

                }

                break;
            }

            event = xmlParser.next();

            //                if (!header) {
            //                    items.add(item);
            //                }

        }

        // Filter items

        //            Log.e("Debug", "RSSFeedParser - filter: >" + filter + "<");
        if (filter != null && !filter.equals("")) {

            Iterator iterator = items.iterator();

            while (iterator.hasNext()) {

                item = (RSSFeedItem) iterator.next();

                // If link doesn't match filter, remove it
                //                    Log.e("Debug", "RSSFeedParser - item no filter: >" + item.getTitle() + "<");

                Pattern patter = Pattern.compile(filter);

                Matcher matcher = patter.matcher(item.getTitle()); // get a matcher object

                if (!(matcher.find())) {
                    iterator.remove();
                }

            }
        }

        rssFeed.setItems(items);
        rssFeed.setItemCount(itemCount);
        rssFeed.setChannelPubDate(items.get(0).getPubDate());
        rssFeed.setResultOk(true);

        is.close();
    } catch (Exception e) {
        Log.e("Debug", "RSSFeedParser - : " + e.toString());
        rssFeed.setResultOk(false);
    } finally {
        // When HttpClient instance is no longer needed,
        // shut down the connection manager to ensure
        // immediate deallocation of all system resources
        if (httpclient != null) {
            httpclient.getConnectionManager().shutdown();
        }
    }

    // return JSON String
    return rssFeed;

}

From source file:ml.puredark.hviewer.ui.fragments.SettingFragment.java

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getPreferenceManager().setSharedPreferencesName(SharedPreferencesUtil.FILE_NAME);
    addPreferencesFromResource(R.xml.preferences);

    String downloadPath = DownloadManager.getDownloadPath();
    if (downloadPath != null) {
        String displayPath = Uri.decode(downloadPath);
        getPreferenceManager().findPreference(KEY_PREF_DOWNLOAD_PATH).setSummary(displayPath);
    }/*from www .  ja  va2  s . c  o  m*/
    ListPreference listPreference = (ListPreference) getPreferenceManager()
            .findPreference(KEY_PREF_VIEW_DIRECTION);
    CharSequence[] entries = listPreference.getEntries();
    int i = listPreference.findIndexOfValue(listPreference.getValue());
    i = (i <= 0) ? 0 : i;
    listPreference.setSummary(entries[i]);
    listPreference.setOnPreferenceChangeListener(this);
    listPreference = (ListPreference) getPreferenceManager().findPreference(KEY_PREF_VIEW_VIDEO_PLAYER);
    entries = listPreference.getEntries();
    i = listPreference.findIndexOfValue(listPreference.getValue());
    i = (i <= 0) ? 0 : i;
    listPreference.setSummary(entries[i]);
    listPreference.setOnPreferenceChangeListener(this);

    getPreferenceScreen().setOnPreferenceChangeListener(this);
    final DirectoryChooserConfig config = DirectoryChooserConfig.builder()
            .initialDirectory((downloadPath.startsWith("/")) ? downloadPath : DownloadManager.DEFAULT_PATH)
            .newDirectoryName("download").allowNewDirectoryNameModification(true).build();
    mDialog = DirectoryChooserFragment.newInstance(config);
    mDialog.setTargetFragment(this, 0);

    float size = (float) Fresco.getImagePipelineFactory().getMainFileCache().getSize() / ByteConstants.MB;
    Preference cacheCleanPreference = getPreferenceManager().findPreference(KEY_PREF_CACHE_CLEAN);
    cacheCleanPreference.setSummary(String.format(" %.2f MB", size));

    LongClickPreference prefDownloadPath = (LongClickPreference) getPreferenceManager()
            .findPreference(KEY_PREF_DOWNLOAD_PATH);
    prefDownloadPath.setOnLongClickListener(v -> {
        new AlertDialog.Builder(activity).setTitle("?")
                .setItems(new String[] { "", "" },
                        (dialogInterface, pos) -> {
                            if (pos == 0 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                                Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
                                intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
                                try {
                                    startActivityForResult(intent, RESULT_CHOOSE_DIRECTORY);
                                } catch (ActivityNotFoundException e) {
                                    e.printStackTrace();
                                    mDialog.show(getFragmentManager(), null);
                                }
                                new Handler().postDelayed(() -> {
                                    if (!opened)
                                        activity.showSnackBar(
                                                "?");
                                }, 1000);
                            } else if (pos == 1) {
                                mDialog.show(getFragmentManager(), null);
                            } else
                                activity.showSnackBar("???");
                        })
                .setNegativeButton(getString(R.string.cancel), null).show();
        return true;
    });
}

From source file:com.openlocationcode.android.main.MainActivity.java

/**
 * Handles intent URIs, extracts the query part and sends it to the search function.
 * <p/>// www  .java2 s .  c o m
 * URIs may be of the form:
 * <ul>
 * <li>{@code geo:37.802,-122.41962}
 * <li>{@code geo:37.802,-122.41962?q=7C66CM4X%2BC34&z=20}
 * <li>{@code geo:0,0?q=WF59%2BX67%20Praia}
 * </ul>
 * <p/>
 * Only the query string is used. Coordinates and zoom level are ignored. If the query string
 * is not recognised by the search function (say, it's a street address), it will fail.
 */
private void handleGeoIntent(Intent intent) {
    Uri uri = intent != null ? intent.getData() : null;
    if (uri == null) {
        return;
    }
    String schemeSpecificPart = uri.getEncodedSchemeSpecificPart();
    if (schemeSpecificPart == null || schemeSpecificPart.isEmpty()) {
        return;
    }
    // Get everything after q=
    int queryIndex = schemeSpecificPart.indexOf(URI_QUERY_SEPARATOR);
    if (queryIndex == -1) {
        return;
    }
    String searchQuery = schemeSpecificPart.substring(queryIndex + 2);
    if (searchQuery.contains(URI_ZOOM_SEPARATOR)) {
        searchQuery = searchQuery.substring(0, searchQuery.indexOf(URI_ZOOM_SEPARATOR));
    }
    final String searchString = Uri.decode(searchQuery);
    Log.i(TAG, "Search string is " + searchString);

    // Give the map some time to get ready.
    Handler h = new Handler();
    Runnable r = new Runnable() {
        @Override
        public void run() {
            if (mMainPresenter.getSearchActionsListener().searchCode(searchString)) {
                mMainPresenter.getSearchActionsListener().setSearchText(searchString);
            }
        }
    };
    h.postDelayed(r, 2000);
}

From source file:ti.modules.titanium.network.NetworkModule.java

@Kroll.method
@Kroll.topLevel
public String decodeURIComponent(String component) {
    return Uri.decode(component);
}

From source file:com.justwayward.reader.ui.activity.ReadActivity.java

@Override
public void initDatas() {
    recommendBooks = (Recommend.RecommendBooks) getIntent().getSerializableExtra(INTENT_BEAN);
    bookId = recommendBooks._id;// ww  w .  j av a2 s .c  o m
    isFromSD = getIntent().getBooleanExtra(INTENT_SD, false);

    if (Intent.ACTION_VIEW.equals(getIntent().getAction())) {
        String filePath = Uri.decode(getIntent().getDataString().replace("file://", ""));
        String fileName;
        if (filePath.lastIndexOf(".") > filePath.lastIndexOf("/")) {
            fileName = filePath.substring(filePath.lastIndexOf("/") + 1, filePath.lastIndexOf("."));
        } else {
            fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
        }

        CollectionsManager.getInstance().remove(fileName);
        // 
        File desc = FileUtils.createWifiTranfesFile(fileName);
        FileUtils.fileChannelCopy(new File(filePath), desc);
        // 
        recommendBooks = new Recommend.RecommendBooks();
        recommendBooks.isFromSD = true;
        recommendBooks._id = fileName;
        recommendBooks.title = fileName;

        isFromSD = true;
    }
    EventBus.getDefault().register(this);
    showDialog();

    mTvBookReadTocTitle.setText(recommendBooks.title);

    mTtsPlayer = TTSPlayerUtils.getTTSPlayer();
    ttsConfig = TTSPlayerUtils.getTtsConfig();

    intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
    intentFilter.addAction(Intent.ACTION_TIME_TICK);

    CollectionsManager.getInstance().setRecentReadingTime(bookId);
    Observable.timer(1000, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {
        @Override
        public void call(Long aLong) {
            //1
            EventManager.refreshCollectionList();
        }
    });
}

From source file:org.transdroid.daemon.util.HttpHelper.java

/**
 * Parses the individual parameters from a textual cookie representation-like string and returns them in an unsorted
 * map. Inspired by Android's (API level 11+) getQueryParameterNames(Uri).
 * @param raw A string of the form key1=value1;key2=value
 * @return An unsorted, unmodifiable map of pairs of string keys and string values
 *//*from w  ww.jav  a2  s .co  m*/
public static Map<String, String> parseCookiePairs(String raw) {

    Map<String, String> pairs = new HashMap<String, String>();
    int start = 0;
    do {
        int next = raw.indexOf(';', start);
        int end = (next == -1) ? raw.length() : next;
        int separator = raw.indexOf('=', start);
        if (separator > end || separator == -1) {
            separator = end;
        }

        String name = raw.substring(start, separator);
        String value = raw.substring(separator + 1, end);
        pairs.put(Uri.decode(name), Uri.decode(value));

        start = end + 1;
    } while (start < raw.length());

    return Collections.unmodifiableMap(pairs);

}

From source file:ml.puredark.hviewer.ui.fragments.SettingFragment.java

@Override
public void onSelectDirectory(@NonNull String path) {
    SharedPreferencesUtil.saveData(getActivity(), KEY_PREF_DOWNLOAD_PATH, Uri.encode(path));
    getPreferenceManager().findPreference(KEY_PREF_DOWNLOAD_PATH).setSummary(Uri.decode(path));
    mDialog.dismiss();/*from  w w  w  .java  2  s . c o  m*/
}

From source file:org.brandroid.openmanager.util.FileManager.java

public static OpenPath getOpenCache(String path, Context c) {
    OpenPath ret = null;/*from   w  w  w . j av a 2  s  .  co  m*/
    if (path.startsWith("/"))
        ret = new OpenFile(path);
    else if (path.startsWith("ftp:/"))
        ret = new OpenFTP(path, null, new FTPManager());
    else if (path.startsWith("sftp:/"))
        ret = new OpenSFTP(path);
    else if (path.equals("Videos"))
        ret = OpenExplorer.getVideoParent();
    else if (path.equals("Photos"))
        ret = OpenExplorer.getPhotoParent();
    else if (path.equals("Music"))
        ret = OpenExplorer.getMusicParent();
    else if (path.equals("Downloads"))
        ret = OpenExplorer.getDownloadParent();
    else if (path.equals("External") && !checkForNoMedia(OpenFile.getExternalMemoryDrive(false)))
        ret = OpenFile.getExternalMemoryDrive(false);
    else if (path.equals("Internal") || path.equals("External"))
        ret = OpenFile.getInternalMemoryDrive();
    else if (path.startsWith("content://org.brandroid.openmanager/search/")) {
        String query = path.replace("content://org.brandroid.openmanager/search/", "");
        path = path.substring(query.indexOf("/") + 1);
        if (query.indexOf("/") > -1)
            query = Uri.decode(query.substring(0, query.indexOf("/")));
        else
            query = "";
        ret = new OpenSearch(query, getOpenCache(path), (SearchProgressUpdateListener) null);
    } else if (path.startsWith("content://") && c != null)
        ret = new OpenContent(Uri.parse(path), c);
    else
        ret = null;
    return ret;
}

From source file:org.lol.reddit.common.General.java

public static Set<String> getUriQueryParameterNames(final Uri uri) {

    if (uri.isOpaque()) {
        throw new UnsupportedOperationException("This isn't a hierarchical URI.");
    }/*from ww  w . java 2 s  .  c o m*/

    final String query = uri.getEncodedQuery();
    if (query == null) {
        return Collections.emptySet();
    }

    final Set<String> names = new LinkedHashSet<String>();
    int pos = 0;
    while (pos < query.length()) {
        int next = query.indexOf('&', pos);
        int end = (next == -1) ? query.length() : next;

        int separator = query.indexOf('=', pos);
        if (separator > end || separator == -1) {
            separator = end;
        }

        String name = query.substring(pos, separator);
        names.add(Uri.decode(name));

        // Move start to end of name.
        pos = end + 1;
    }

    return Collections.unmodifiableSet(names);
}

From source file:com.fvd.nimbus.PaintActivity.java

/** Called when the activity is first created. */
@Override/*from   ww  w. ja va  2 s  . c  o  m*/
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //overridePendingTransition( R.anim.slide_in_up, R.anim.slide_out_up );
    overridePendingTransition(R.anim.carbon_slide_in, R.anim.carbon_slide_out);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    try {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
    } catch (Exception e) {
        e.printStackTrace();
    }
    ctx = this;
    prefs = PreferenceManager.getDefaultSharedPreferences(this);
    dWidth = prefs.getInt("dWidth", 2);
    fWidth = prefs.getInt("fWidth", 1);
    dColor = prefs.getInt(pColor, Color.RED);
    saveFormat = Integer.parseInt(prefs.getString("saveFormat", "1"));
    serverHelper.getInstance().setCallback(this, this);
    serverHelper.getInstance().setMode(saveFormat);
    setContentView(R.layout.screen_edit);
    drawer = (DrawerLayout) findViewById(R.id.root);
    findViewById(R.id.bDraw1).setOnClickListener(this);
    findViewById(R.id.bDraw2).setOnClickListener(this);
    findViewById(R.id.bDraw3).setOnClickListener(this);
    findViewById(R.id.bDraw4).setOnClickListener(this);
    findViewById(R.id.bDraw5).setOnClickListener(this);
    findViewById(R.id.bDraw6).setOnClickListener(this);
    findViewById(R.id.bDraw8).setOnClickListener(this);
    findViewById(R.id.bColor1).setOnClickListener(this);
    findViewById(R.id.bColor2).setOnClickListener(this);
    findViewById(R.id.bColor3).setOnClickListener(this);
    findViewById(R.id.bColor4).setOnClickListener(this);
    findViewById(R.id.bColor5).setOnClickListener(this);
    paletteButton = (CircleButton) findViewById(R.id.bToolColor);
    paletteButton.setOnClickListener(this);

    paletteButton_land = (CircleButton) findViewById(R.id.bToolColor_land);
    //paletteButton_land.setOnClickListener(this);

    ((SeekBar) findViewById(R.id.seekBarLine)).setProgress(dWidth * 10);
    ((SeekBar) findViewById(R.id.seekBarType)).setProgress(fWidth * 10);

    ((TextView) findViewById(R.id.tvTextType)).setText(String.format("%d", 40 + fWidth * 20));

    findViewById(R.id.bUndo).setOnClickListener(this);
    findViewById(R.id.btnBack).setOnClickListener(this);
    findViewById(R.id.bClearAll).setOnClickListener(this);
    findViewById(R.id.bTurnLeft).setOnClickListener(this);
    findViewById(R.id.bTurnRight).setOnClickListener(this);
    findViewById(R.id.bDone).setOnClickListener(this);
    findViewById(R.id.bApplyText).setOnClickListener(this);

    ((ImageButton) findViewById(R.id.bStroke)).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            v.setSelected(!v.isSelected());
        }
    });

    lineWidthListener = new OnSeekBarChangeListener() {

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            // TODO Auto-generated method stub
            if (true || fromUser) {
                /*dWidth = (progress/10);
                 drawView.setWidth((dWidth+1)*5);*/
                dWidth = progress;
                drawView.setWidth(dWidth);
                Editor e = prefs.edit();
                e.putInt("dWidth", dWidth);
                e.commit();
            }

        }
    };

    ((SeekBar) findViewById(R.id.seekBarLine)).setOnSeekBarChangeListener(lineWidthListener);
    ((SeekBar) findViewById(R.id.ls_seekBarLine)).setOnSeekBarChangeListener(lineWidthListener);

    fontSizeListener = new OnSeekBarChangeListener() {

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            // TODO Auto-generated method stub

            if (fromUser) {
                fWidth = progress / 10;
                int c = 40 + fWidth * 20;
                drawView.setFontSize(c);
                Editor e = prefs.edit();
                e.putInt("fWidth", fWidth);
                e.commit();
                try {
                    ((TextView) findViewById(R.id.tvTextType)).setText(String.format("%d", c));
                    ((TextView) findViewById(R.id.ls_tvTextType)).setText(String.format("%d", c));
                } catch (Exception ex) {

                }

            }
        }
    };

    ((SeekBar) findViewById(R.id.seekBarType)).setOnSeekBarChangeListener(fontSizeListener);
    ((SeekBar) findViewById(R.id.ls_seekBarType)).setOnSeekBarChangeListener(fontSizeListener);

    drawView = (DrawView) findViewById(R.id.painter);
    drawView.setWidth((dWidth + 1) * 5);
    drawView.setFontSize(40 + fWidth * 20);

    setBarConfig(getResources().getConfiguration().orientation);

    findViewById(R.id.bEditPage).setOnClickListener(this);
    findViewById(R.id.bToolColor).setOnClickListener(this);
    findViewById(R.id.bErase).setOnClickListener(this);
    findViewById(R.id.bToolShape).setOnClickListener(this);
    findViewById(R.id.bToolText).setOnClickListener(this);
    findViewById(R.id.bToolCrop).setOnClickListener(this);
    findViewById(R.id.btnBack).setOnClickListener(this);
    findViewById(R.id.bDone).setOnClickListener(this);
    findViewById(R.id.btnShare).setOnClickListener(this);
    findViewById(R.id.bSave2SD).setOnClickListener(this);
    findViewById(R.id.bSave2Nimbus).setOnClickListener(this);

    userMail = prefs.getString("userMail", "");
    userPass = prefs.getString("userPass", "");
    sessionId = prefs.getString("sessionId", "");

    appSettings.sessionId = sessionId;
    appSettings.userMail = userMail;
    appSettings.userPass = userPass;

    storePath = "";
    Intent intent = getIntent();
    String action = intent.getAction();
    String type = intent.getType();
    //storePath= intent.getPackage().getClass().toString();
    if ((Intent.ACTION_VIEW.equals(action) || Intent.ACTION_SEND.equals(action)
            || "com.onebit.nimbusnote.EDIT_PHOTO".equals(action)) && type != null) {
        if (type.startsWith("image/")) {
            Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
            if (imageUri == null)
                imageUri = intent.getData();
            if (imageUri != null) {
                String url = Uri.decode(imageUri.toString());
                if (url.startsWith(CONTENT_PHOTOS_URI_PREFIX)) {
                    url = getPhotosPhotoLink(url);
                } //else url=Uri.decode(url);

                ContentResolver cr = getContentResolver();
                InputStream is;

                try {
                    is = cr.openInputStream(Uri.parse(url));
                    if ("com.onebit.nimbusnote.EDIT_PHOTO".equals(action))
                        storePath = " ";//getGalleryPath(Uri.parse(url));
                    Bitmap bmp = BitmapFactory.decodeStream(is);
                    if (bmp.getWidth() != -1 && bmp.getHeight() != -1)
                        drawView.setBitmap(bmp, 0);
                } catch (Exception e) {
                    appSettings.appendLog("paint:onCreate  " + e.getMessage());
                }
            }
        }
    } else {
        String act = getIntent().getExtras().getString("act");
        if ("photo".equals(act)) {
            getPhoto();
        } else if ("picture".equals(act)) {
            getPicture();
        } else {
            String filePath = getIntent().getExtras().getString("path");
            boolean isTemp = getIntent().getExtras().getBoolean("temp");
            domain = getIntent().getExtras().getString("domain");
            if (domain == null)
                domain = serverHelper.getDate();
            if (filePath.contains("://")) {
                Bitmap bmp = helper.LoadImageFromWeb(filePath);
                if (bmp != null) {
                    drawView.setBitmap(bmp, 0);
                }
            } else {
                File file = new File(filePath);
                if (file.exists()) {
                    try {
                        int orient = helper.getOrientationFromExif(filePath);
                        Bitmap bmp = helper.decodeSampledBitmap(filePath, 1000, 1000);
                        if (bmp != null) {
                            drawView.setBitmap(bmp, orient);
                        }
                    } catch (Exception e) {
                        appSettings.appendLog("paint.onCreate()  " + e.getMessage());
                    }
                    if (isTemp)
                        file.delete();
                }
            }
        }
    }

    drawView.setBackgroundColor(Color.WHITE);
    drawView.requestFocus();
    drawView.setColour(dColor);
    setPaletteColor(dColor);

    drawView.setSelChangeListener(new shapeSelectionListener() {

        @Override
        public void onSelectionChanged(int shSize, int fSize, int shColor) {
            setSelectedFoot(0);
            setLandToolSelected(R.id.bEditPage_land);
            //updateColorDialog(shSize!=-1?(shSize/5)-1:dWidth, fSize!=-1?(fSize-40)/20:fWidth, shColor!=0?colorToId(shColor):dColor);
            dColor = shColor;
            ccolor = shColor;
            int sw = shSize != -1 ? shSize : dWidth;
            canChange = false;
            ((SeekBar) findViewById(R.id.seekBarLine)).setProgress(sw);
            ((SeekBar) findViewById(R.id.ls_seekBarLine)).setProgress(sw);
            setPaletteColor(dColor);
            drawView.setColour(dColor);
            canChange = true;
        }

        @Override
        public void onTextChanged(String text, boolean stroke) {

            if (findViewById(R.id.text_field).getVisibility() != View.VISIBLE) {
                hideTools();

                findViewById(R.id.bStroke).setSelected(stroke);
                ((EditText) findViewById(R.id.etEditorText)).setText(text);
                findViewById(R.id.text_field).setVisibility(View.VISIBLE);
                findViewById(R.id.etEditorText).requestFocus();
                ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE))
                        .showSoftInput(findViewById(R.id.etEditorText), 0);
                findViewById(R.id.bToolText).postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                        setSelectedFoot(2);

                    }
                }, 100);

            }
        }

    });

    setColorButtons(dColor);

    //mPlanetTitles = getResources().getStringArray(R.array.lmenu_paint);

    /*ListView listView = (ListView) findViewById(R.id.left_drawer);
    listView.setAdapter(new DrawerMenuAdapter(this,getResources().getStringArray(R.array.lmenu_paint)));
    listView.setOnItemClickListener(this);*/
}