commit
693c6646dc
1 changed files with 30 additions and 4 deletions
|
@ -14,6 +14,7 @@ import android.support.v4.app.FragmentManager.BackStackEntry;
|
||||||
import android.support.v7.widget.PopupMenu;
|
import android.support.v7.widget.PopupMenu;
|
||||||
import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
@ -26,10 +27,12 @@ import android.widget.TextView;
|
||||||
import net.osmand.AndroidUtils;
|
import net.osmand.AndroidUtils;
|
||||||
import net.osmand.IndexConstants;
|
import net.osmand.IndexConstants;
|
||||||
import net.osmand.plus.OsmandApplication;
|
import net.osmand.plus.OsmandApplication;
|
||||||
|
import net.osmand.plus.OsmandPlugin;
|
||||||
import net.osmand.plus.OsmandSettings;
|
import net.osmand.plus.OsmandSettings;
|
||||||
import net.osmand.plus.OsmandSettings.WikivoyageShowImages;
|
import net.osmand.plus.OsmandSettings.WikivoyageShowImages;
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
import net.osmand.plus.activities.TrackActivity;
|
import net.osmand.plus.activities.TrackActivity;
|
||||||
|
import net.osmand.plus.development.OsmandDevelopmentPlugin;
|
||||||
import net.osmand.plus.helpers.FileNameTranslationHelper;
|
import net.osmand.plus.helpers.FileNameTranslationHelper;
|
||||||
import net.osmand.plus.wikivoyage.WikivoyageBaseDialogFragment;
|
import net.osmand.plus.wikivoyage.WikivoyageBaseDialogFragment;
|
||||||
import net.osmand.plus.wikivoyage.WikivoyageShowPicturesDialogFragment;
|
import net.osmand.plus.wikivoyage.WikivoyageShowPicturesDialogFragment;
|
||||||
|
@ -37,14 +40,20 @@ import net.osmand.plus.wikivoyage.WikivoyageWebViewClient;
|
||||||
import net.osmand.plus.wikivoyage.data.TravelArticle;
|
import net.osmand.plus.wikivoyage.data.TravelArticle;
|
||||||
import net.osmand.plus.wikivoyage.data.TravelDbHelper;
|
import net.osmand.plus.wikivoyage.data.TravelDbHelper;
|
||||||
import net.osmand.plus.wikivoyage.data.TravelLocalDataHelper;
|
import net.osmand.plus.wikivoyage.data.TravelLocalDataHelper;
|
||||||
import net.osmand.plus.wikivoyage.explore.WikivoyageExploreDialogFragment;
|
|
||||||
import net.osmand.util.Algorithms;
|
import net.osmand.util.Algorithms;
|
||||||
|
|
||||||
|
import java.io.BufferedWriter;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static net.osmand.plus.OsmandSettings.WikivoyageShowImages.OFF;
|
||||||
|
|
||||||
|
|
||||||
public class WikivoyageArticleDialogFragment extends WikivoyageBaseDialogFragment {
|
public class WikivoyageArticleDialogFragment extends WikivoyageBaseDialogFragment {
|
||||||
|
|
||||||
public static final String TAG = "WikivoyageArticleDialogFragment";
|
public static final String TAG = "WikivoyageArticleDialogFragment";
|
||||||
|
@ -115,6 +124,8 @@ public class WikivoyageArticleDialogFragment extends WikivoyageBaseDialogFragmen
|
||||||
"}</script>"
|
"}</script>"
|
||||||
+ "</body></html>";
|
+ "</body></html>";
|
||||||
|
|
||||||
|
private static final String EMPTY_URL = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d4//";
|
||||||
|
|
||||||
private long cityId = NO_VALUE;
|
private long cityId = NO_VALUE;
|
||||||
private ArrayList<String> langs;
|
private ArrayList<String> langs;
|
||||||
private String selectedLang;
|
private String selectedLang;
|
||||||
|
@ -412,8 +423,9 @@ public class WikivoyageArticleDialogFragment extends WikivoyageBaseDialogFragmen
|
||||||
sb.append("</div>");
|
sb.append("</div>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!TextUtils.isEmpty(imageTitle)) {
|
String url = TravelArticle.getImageUrl(imageTitle, false);
|
||||||
String url = TravelArticle.getImageUrl(imageTitle, false);
|
if (!TextUtils.isEmpty(imageTitle) && getSettings().WIKIVOYAGE_SHOW_IMAGES.get() != OFF &&
|
||||||
|
!url.startsWith(EMPTY_URL)) {
|
||||||
sb.append("<div class=\"title-image\" style=\"background-image: url(").append(url).append(")\"></div>");
|
sb.append("<div class=\"title-image\" style=\"background-image: url(").append(url).append(")\"></div>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -423,10 +435,24 @@ public class WikivoyageArticleDialogFragment extends WikivoyageBaseDialogFragmen
|
||||||
sb.append("<h1>").append(article.getTitle()).append("</h1>");
|
sb.append("<h1>").append(article.getTitle()).append("</h1>");
|
||||||
sb.append(article.getContent());
|
sb.append(article.getContent());
|
||||||
sb.append(FOOTER_INNER);
|
sb.append(FOOTER_INNER);
|
||||||
|
if (OsmandPlugin.getEnabledPlugin(OsmandDevelopmentPlugin.class) != null) {
|
||||||
|
writeOutHTML(sb);
|
||||||
|
}
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void writeOutHTML(StringBuilder sb) {
|
||||||
|
File file = new File(getMyApplication().getAppPath(IndexConstants.WIKIVOYAGE_INDEX_DIR), "page.html");
|
||||||
|
BufferedWriter writer = null;
|
||||||
|
try {
|
||||||
|
writer = new BufferedWriter(new FileWriter(file));
|
||||||
|
writer.write(sb.toString());
|
||||||
|
writer.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
Log.w("ArticleDialog", e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private String getBaseUrl() {
|
private String getBaseUrl() {
|
||||||
File wikivoyageDir = getMyApplication().getAppPath(IndexConstants.WIKIVOYAGE_INDEX_DIR);
|
File wikivoyageDir = getMyApplication().getAppPath(IndexConstants.WIKIVOYAGE_INDEX_DIR);
|
||||||
|
|
Loading…
Reference in a new issue