aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/apps/cache/AbstractGeneralApp.java
blob: f4e92ac2f31f425313dafa10a683bb9b212ee24e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package cgeo.geocaching.apps.cache;

import cgeo.geocaching.cgCache;
import cgeo.geocaching.apps.AbstractApp;

import android.app.Activity;
import android.content.Intent;

abstract class AbstractGeneralApp extends AbstractApp implements GeneralApp {

    protected AbstractGeneralApp(String name, String packageName) {
        super(name, null);
        this.packageName = packageName;
    }

    @Override
    public boolean isEnabled(cgCache cache) {
        return true;
    }

    @Override
    public boolean invoke(Activity activity, cgCache cache) {
        if (packageName == null) {
            return false;
        }
        final Intent intent = getLaunchIntent(activity);
        if (intent != null) {
            intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            activity.startActivity(intent);
            return true;
        }
        return false;
    }
}