diff options
author | Christian Schneppe <christian@pix-art.de> | 2019-08-31 15:34:17 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2019-08-31 15:34:17 +0200 |
commit | 240addee71f05e091f462a48dc9a590b070ccb61 (patch) | |
tree | 3f38c0ffd9c6b3fffcbdc6fa9a3725419f855ae9 /src/main/java/de/pixart/messenger/services | |
parent | ca21a38cb691aff03fb6a376cbd22e91f3c02ce1 (diff) |
refactored filename and extension parsing
Diffstat (limited to 'src/main/java/de/pixart/messenger/services')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/AbstractConnectionManager.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/services/AbstractConnectionManager.java b/src/main/java/de/pixart/messenger/services/AbstractConnectionManager.java index 3399b7861..47c4c9171 100644 --- a/src/main/java/de/pixart/messenger/services/AbstractConnectionManager.java +++ b/src/main/java/de/pixart/messenger/services/AbstractConnectionManager.java @@ -138,4 +138,23 @@ public class AbstractConnectionManager { PowerManager powerManager = (PowerManager) mXmppConnectionService.getSystemService(Context.POWER_SERVICE); return powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, name); } + + public static class Extension { + public final String main; + public final String secondary; + + private Extension(String main, String secondary) { + this.main = main; + this.secondary = secondary; + } + + public static Extension of(String path) { + final int pos = path.lastIndexOf('/'); + final String filename = path.substring(pos + 1).toLowerCase(); + final String[] parts = filename.split("\\."); + final String main = parts.length >= 2 ? parts[parts.length - 1] : null; + final String secondary = parts.length >= 3 ? parts[parts.length - 2] : null; + return new Extension(main, secondary); + } + } } |